翻訳というほどのだいそれた作業でもないけど、asm6809のman表示をDeepL翻訳で長文部分のみ日本語にしてみた。
純粋なテキスト文だが、その都度引き出して読むのも面倒なのでメモ代わりにここにだす。
以下、テキスト文本文
----------------------------------------------------
asm6809(1) General Commands Manual asm6809(1)
NAME
asm6809--6809 cross-assembler
SYNOPSIS
asm6809 [OPTION]... [SOURCE-FILE]...
DESCRIPTION
asm6809 is a portable macro cross assembler targeting the Motorola 6809
and Hitachi 6309 processors. These processors are most commonly
encountered in the Dragon and Tandy Colour Computer.
asm6809は、Motorola 6809およびHitachi 6309プロセッサを対象とした
ポータブルなマクロクロスアセンブラです。
これらのプロセッサは、DragonおよびTandy Colour Computerで最もよく見られます。
OPTIONS
-B, --bin
output raw binary file (default)
-D, --dragondos
output DragonDOS binary file
-C, --coco
output CoCo RS-DOS ("DECB") segmented binary file
-S, --srec
output Motorola SREC file
-H, --hex
output Intel hex record file
-e, --exec addr
EXEC address (for output formats that support one)
-8, -9, --6809
use 6809 ISA (default)
-3, --6309
use 6309 ISA (6809 with extensions)
-d, --define sym[=number]
define a symbol
--setdp value
initial value assumed for DP [undefined]
-P, --max-passes n
maximum number of passes to allow symbol values to stabilise
[12]
-o, --output file
output filename
-l, --listing file
create listing file
-E, --exports file
create exports table
-s, --symbols file
create symbol table
-q, --quiet
don't warn about illegal (but working) code
-v, --verbose
warn about explicitly inefficient code
--help show help
--version
show program version
If more than one SOURCE-FILE is specified, they are assembled as though
they were all in one file.
複数のSOURCE-FILEが指定された場合、それらはあたかも
すべて1つのファイルに含まれているかのようにアセンブルされます。
USAGE
Text is read in and parsed, then as many passes are made over the
parsed source as necessary (up to a limit), until symbols are resolved
and addresses are stable. The fastest or smallest representation should
always be chosen where there is ambiguity.
テキストを読み込んで解析した後、シンボルが解決され、
アドレスが確定するまで、必要に応じて(上限まで)
解析済みのソースに対して繰り返し処理が行われます。
曖昧な場合は、常に最も高速または最もコンパクトな表現が
選択されるべきです。
Output formats are: Raw binary, DragonDOS binary, CoCo RS-DOS ("DECB")
binary, Motorola SREC, Intel HEX.
出力形式は、Rawバイナリ、DragonDOSバイナリ、CoCo RS-DOS(「DECB」)
バイナリ、Motorola SREC、Intel HEXです。
Additional optional output files are:
その他のオプションの出力ファイルは以下の通りです:
o A listing file is an annotated copy of the source file with addresses
and generated code prepended to each line.
o リストファイルとは、ソースファイルの各行の先頭にアドレス
および生成されたコードが追加された、注釈付きのコピーです。
o An exports file contains a list of all macro definitions and symbols
flagged for export with the EXPORT pseudo-op. Suitable for inclusion
in subsequent source files.
o エクスポートファイルには、EXPORT疑似命令によってエクスポート対象として
指定されたすべてのマクロ定義およびシンボルのリストが含まれています。
後続のソースファイルにインクルードするのに適しています。
o A symbols file contains a list of all non-local symbols. Suitable for
inclusion in subsequent source files, but beware multiple definitions
errors if two source files include a common set of symbols.
o シンボルファイルには、すべての非ローカルシンボルのリストが含まれています。
後続のソースファイルにインクルードするのに適していますが、2つのソースファイルが
共通のシンボルセットをインクルードしている場合、
多重定義エラーが発生する可能性があるため注意が必要です。
Home page: <http://www.6809.org.uk/asm6809/>
Differences to other assemblers
Motorola syntax allows a comment to follow any operands, separated from
them only by whitespace. To an extent, this assembler accepts that, but
be aware that as spaces are allowed within expressions, if the comment
looks like it is continuing an expression it will generate bad code (or
raise an error if the result is syntactically incorrect). Example:
他のアセンブラとの違い
Motorolaの構文では、オペランドの後にコメントを続けることができ、
それらを区切るものは空白のみです。このアセンブラはある程度までこれを許容しますが、
式の中に空白が許容されるため、コメントが式の一部のように見える場合、
不正なコードが生成される(あるいは結果が構文的に正しくない場合はエラーが発生する)ことに
注意してください。例:
0000 8605 lda #5
0002 C60A ldb #5 * 2 twice first number
最初の数字の2倍
A strict Motorola assembler would generate bytes C6 05 for the second
line, as the "* 2" would be ignored. For consistency, it is best to in-
troduce end of line comments with a ; character. An asterisk (*) can
introduce whole line comments.
厳格なMotorolaアセンブラでは、「* 2」が無視されるため、
2行目に対してバイト列C6 05が生成されます。
一貫性を保つため、行末コメントには「;」文字を使用するのが最適です。
アスタリスク(*)を使用すると、行全体をコメントとして指定できます。
An unquoted semicolon always introduces a comment. The alternate form
of the 6309 instructions AIM, OIM, etc. listed in some documentation
that uses a semicolon as a separator is not accepted.
引用符で囲まれていないセミコロンは、常にコメントの開始を表します。
一部のドキュメントに記載されている、セミコロンを区切り文字として使用する
6309命令(AIM、OIMなど)の代替形式は、サポートされていません。
A symbol may be forward referenced; any time a reference is unresolv-
able, another pass is triggered, up to some defined maximum.
シンボルに対して前方参照を行うことができます。参照が解決できない場合、
定義された最大回数まで、再処理がトリガーされます。
In 6809 indexed addressing, the offset size will default to the fastest
possible form, e.g. if the offset is an expression that happens to
evaluate to zero, the no offset form will be used. Prepend << to coerce
a 5 bit offset, < to coerce 8 bits or > to coerce 16 bits.
6809のインデックス付きアドレス指定では、オフセットサイズはデフォルトで可能な限り
高速な形式になります。例えば、オフセットがたまたま0に評価される式である場合、
オフセットなしの形式が使用されます。
<< を先頭に付けることで5ビットのオフセットに、< を付けることで8ビットに、
> を付けることで16ビットに強制変換します。
asm6809 currently has no support for OS-9 modules or multiple object
linking.
asm6809 は現在、OS-9 モジュールや複数のオブジェクトのリンクに対応していません。
Program syntax
Program files are considered line by line. Each line contains up to
three fields, separated by whitespace: label, instruction and argu-
ments. An unquoted semicolon (;) indicates that the rest of the line is
to be considered a comment. Whole line comments may be introduced with
an asterisk (*). Motorola-style end of line comments without a ; are
accepted, but see the notes about assembler differences.
プログラムファイルは行単位で処理されます。各行には、空白で区切られた最大3つのフィールド
(ラベル、命令、および引数)が含まれます。引用符で囲まれていないセミコロン (;) は、
その行の残りの部分がコメントとして扱われることを示します。
行全体をコメントとする場合は、アスタリスク (*) で開始します。
; を含まないモトローラ形式の行末コメントも有効ですが、
アセンブラごとの違いに関する注意事項を参照してください。
Any label must appear at the very beginning of the line. If a label is
omitted, whitespace must appear before the operator field. Certain
pseudo-ops may affect a label's meaning, but usually labels define a
symbol referring to the current position in the code (Program Counter,
or PC).
ラベルは、必ず行の先頭に記述する必要があります。ラベルが省略された場合、
演算子フィールドの前に空白を挿入する必要があります。
特定の疑似命令はラベルの意味に影響を与える場合がありますが、
通常、ラベルはコード内の現在の位置(プログラムカウンタ、またはPC)を指すシンボルを定義します。
The instruction field contains either an instruction op-code (mne-
monic), a pseudo-op (assembler directive), or a macro name for expan-
sion.
命令フィールドには、命令のオペコード(モニック)、疑似命令(アセンブラ指令)、
または展開用のマクロ名が格納されます。
Pseudo-ops allow conditional assembly and inline data, can affect code
placement and symbol values and be used to include further files in-
line. See the section on Pseudo-ops for more information.
疑似命令は、条件付きアセンブリやインラインデータの使用を可能にし、
コードの配置やシンボルの値に影響を与えるほか、インラインでさらにファイルを
インクルードするために使用できます。
詳細については、「疑似命令」のセクションを参照してください。
Arguments are a comma-separated list: either instruction operands or
arguments to a pseudo-op or macro. Permitted arguments are specific to
the instruction or pseudo-op, but in general they may be:
引数は、コンマ区切りのリストです。これらは、命令のオペランド、
あるいは疑似命令やマクロの引数のいずれかです。許可される引数は命令や疑似命令ごとに異なりますが、
一般的には以下のものが挙げられます:
o An expression.
式構文
o A register name, with optional pre-decrement or post-increment.
レジスタ名。必要に応じて、前減算または後増算を指定できます。
o A nested list surrounded by [ and ]. This is generally only used to
indicate indirect indexed addressing.
[ と ] で囲まれたネストされたリスト。これは通常、間接インデックス指定を示すためにのみ使用される。
In addition, any argument may be preceded by:
さらに、どの引数にも、その前に以下を付けることができます:
o #, indicate immediate value.
# は、即値を示す。
o <<, force 5-bit index offset.
<<、5ビットのインデックスオフセットを強制する。
o <, force direct addressing, 8-bit value or 8-bit index offset.
<、直接アドレス指定を強制、8ビット値または8ビットのインデックスオフセット。
o >, force extended addressing, 16-bit value or 16-bit index offset.
>, 拡張アドレス指定を強制、16ビットの値、または16ビットのインデックスオフセット。
Expressions
Expressions are formed of:
式
式は以下の要素から構成されます:
o A decimal number.
o 10進数。
o An octal number preceded by @ or with a leading 0.
o @ または先頭に 0 が付いた8進数。
o A binary number preceded by % or 0b.
o % または 0b が付いた2進数。
o A hexadecimal number preceded by $ or 0x.
o $ または 0x が付いた16進数。
o A floating point number: decimal digits surrounding exactly one full
stop (.).
o 浮動小数点数:1つのピリオド (.) を正確に挟む形で10進数の桁が並んでいるもの。
o A single quote followed by any ASCII character (yielding the ASCII
value of that character).
o 単一引用符(シングルクォート)に続く任意のASCII文字(その文字のASCII値となる)。
o A symbol name, local forward reference or local back reference.
o シンボル名、ローカル前方参照、またはローカル後方参照。
o Any of the above prefixed with a unary minus (-) or plus (+).
o 上記のいずれかに単項のマイナス (-) またはプラス (+) が付いたもの。
o A string delimited either by double quotes or /.
o ダブルクォートまたは / で区切られた文字列。
o A combination of any of the above with arithmetic, bitwise, logical
or relational operators.
o 上記のいずれかと、算術演算子、ビット演算子、論理演算子、または関係演算子の組み合わせ。
o Parenthesis to specify precedence.
o 優先順位を指定するための括弧。
The assembler uses multiple passes to resolve expressions. If an ex-
pression refers to a symbol that cannot currently be resolved, an extra
pass is triggered. Similarly, if a symbol is assigned a value (e.g. by
an EQU pseudo-op) that differs to its value on the previous pass, an-
other is triggered until it becomes stable.
アセンブラは、式を評価するために複数のパスを実行します。
式が、現時点で解決できないシンボルを参照している場合、追加のパスが実行されます。
同様に、シンボルに(例えばEQU疑似命令によって)
前のパスでの値とは異なる値が代入された場合、その値が安定するまで、別のパスが実行されます。
When not directly used for their contents (e.g. by FCC), strings can be
used in place of integer values. The ASCII value of each character is
used to represent 8 bits of the integer result up to 32 bits. Example:
文字列は、その内容そのものが直接使用される場合(FCCなど)を除き、
整数値の代わりに使用することができます。各文字のASCII値が、最大32ビットまでの
整数結果の8ビット分を表すために使用されます。例:
0000 CC443A ldd #"D:"
Operators
The following operators are available, listed in descending order of
precedence (where operators share a precedence, left-to-right evalua-
tion is performed):
演算子
以下の演算子が利用可能です。優先順位の高い順に列挙します
(優先順位が同じ演算子については、左から右への評価が行われます):
|
演算子 | 説明
-----------+----------------------
+ | 単項プラス
- | 単項マイナス
! ~ | 論理、ビット単位のNOT
-----------+----------------------
* | 乗算
/ | 除算
% | 剰余
-----------+----------------------
+ | 加算
- | 減算
-----------+----------------------
<< | ビット単位の左シフト
>> | ビット単位の右シフト
-----------+----------------------
< <= | 関係演算子
> >= | 関係演算子
-----------+----------------------
== | 関係的等価
!= | 関係的な不等号
-----------+----------------------
& | ビット単位のAND
-----------+----------------------
^ | ビット単位のXOR
-----------+----------------------
| | ビット単位のOR
-----------+----------------------
&& | 論理積
-----------+----------------------
|| | 論理和
-----------+----------------------
?: | 三項演算子
Division always returns a floating point result. Other arithmetic oper-
ators return integers if both operands are integers, otherwise floating
point. Bitwise operators and modulo all cast their operands to integers
and return an integer. Relational and logical operators result in 0 if
false, 1 if true. Integer calculations are performed using the plat-
form's int64_t type, floating point uses double.
除算は常に浮動小数点数の結果を返します。その他の算術演算子は、両方のオペランドが整数である場合は
整数を返し、そうでない場合は浮動小数点数を返します。
ビット演算子および剰余演算子はすべて、オペランドを整数にキャストし、整数を返します。
比較演算子および論理演算子は、偽の場合に 0、真の場合に 1 を返します。
整数の計算はプラットフォームの int64_t 型を使用して行われ、
浮動小数点数の計算には double が使用されます。
Conditional assembly
The pseudo-ops IF, ELSIF, ELSE and ENDIF guide conditional assembly. IF
and ELSIF take one argument, which is evaluated as an integer. If the
result is non-zero, the following code will be assembled, else it will
be skipped. Undefined symbols encountered while evaluating the condi-
tion are interpreted as zero (false) rather than raising an error.
条件付きアセンブリ
疑似命令 IF、ELSIF、ELSE、および ENDIF は、条件付きアセンブリを制御します。
IFおよび ELSIF は 1 つの引数を取り、その引数は整数として評価されます。
結果が 0 以外の場合、後続のコードがアセンブルされ、そうでない場合はスキップされます。
条件式の評価中に未定義のシンボルが検出された場合、エラーを発生させるのではなく、
ゼロ(偽)として解釈されます。
Conditional assembly pseudo-ops are permitted within macro definitions
and will be evaluated at the time of expansion, therefore positional
variables can be used to affect macro expansion.
マクロ定義内では条件付きアセンブリの疑似命令が許可されており、
これらは展開時に評価されるため、位置指定変数を使用してマクロの展開結果に
影響を与えることができます。
Sections
Code can be placed into named sections with the SECTION pseudo-op. This
can make breaking source into multiple input files more comfortable.
Without ORG or PUT directives, sections will follow each other in mem-
ory in the order they are first defined.
セクション
SECTION 疑似命令を使用すると、コードを名前付きのセクションに分割できます。
これにより、ソースコードを複数の入力ファイルに分割する作業が容易になります。
ORG または PUT ディレクティブがない場合、セクションはメモリ上で
最初に定義された順序で連続して配置されます。
Within each section, there may exist multiple spans of discontiguous
data. Certain output formats are able to represent this, for the others
(e.g. DragonDOS), the spans are combined first, with the gaps between
them padded with zero bytes.
各セクション内には、連続していない複数のデータ領域が存在する場合があります。
特定の出力形式ではこれをそのまま表現できますが、その他の形式(DragonDOSなど)では、
まずこれらの領域を結合し、その間の隙間をゼロバイトで埋めます。
Local labels
Local labels are considered local to the current section. A local label
is any decimal number used in the label field, and the same local label
may appear mulitple times, unlike other labels.
ローカルラベル
ローカルラベルは、現在のセクション内でのみ有効なラベルとみなされます。
ローカルラベルとは、ラベルフィールドに使用される任意の10進数のことであり、
他のラベルとは異なり、同じローカルラベルを複数回使用することができます。
As an operand, a decimal number followed by B or F is considered to be
a back or forward reference to the previous or next occurrence of that
numerical local label in the section.
オペランドとして、10進数の後にBまたはFが続く場合、
それはセクション内でその数値ローカルラベルが直前に現れた箇所への後方参照、
あるいは直後に現れる箇所への前方参照とみなされる。
In this example, the 1 label occurs twice, but each use of 1B refers to
the closest one searching backwards:
この例では、「1」というラベルが2回出現しますが、「1B」の各使用箇所は、
後ろに向かって検索した際に最も近いものを指しています:
0000 8E0400 scroll ldx #$0400
0003 EC8820 1 ldd 32,x
0006 ED81 std ,x++
0008 8C05E0 cmpx #$05e0
000B 25F6 blo 1B
000D CC6060 ldd #$6060
0010 ED81 1 std ,x++
0012 8C0600 cmpx #$0600
0015 25F9 blo 1B
0017 39 rts
An exclamation mark (!) in the label field is treated as a local label
numbered zero. Operands of < and > are considered equivalent to 0B and
0F respectively, and can therefore refer to the ! local label. This is
included for compatibility with other assemblers.
ラベルフィールド内の感嘆符 (!) は、番号 0 のローカルラベルとして扱われます。
< および > のオペランドは、それぞれ 0B および0F と同等とみなされるため、
! ローカルラベルを参照することができます。
これは、他のアセンブラとの互換性を確保するために実装されています。
As local labels can be repeated, their position is used to distinguish
them. For this reason, all file inclusions and macro expansion must oc-
cur during the first pass so that the absolute line count at which each
local label is encountered remains the same between passes.
ローカルラベルは繰り返し使用される可能性があるため、その位置によって区別されます。
このため、すべてのファイルのインクルードおよびマクロの展開は、
最初のパス中に実行されなければなりません。そうすることで、各ローカルラベルが
検出される絶対行番号が、パス間で一貫して同じままになります。
Macros
Start a macro definition by specifying a name for it in the label
field, and MACRO in the instruction field. Finish the definition with
ENDM in the instruction field.
マクロ
ラベル欄にマクロ名を、命令欄に「MACRO」と指定してマクロの定義を開始します。
定義の終了には、命令欄に「ENDM」と入力します。
Use a macro by specifying its name in the instruction field. Any argu-
ments given will be available during expansion as a positional vari-
able.
マクロを使用するには、命令フィールドにその名前を指定します。
指定された引数は、展開時に位置指定変数として利用可能になります。
Positional variables can be used within strings, or pasted to form sym-
bol names. In either case, they must be quoted or they will be passed
by value, which will result in an error if they do not correspond to
valid symbols by themselves.
位置指定変数は、文字列内で使用したり、結合してシンボル名を形成したりできます。
いずれの場合も、引用符で囲む必要があります。そうしないと値渡しされ、
それ自体が有効なシンボルに対応していない場合、エラーが発生します。
The positional variables are referred to with \{1}, \{2}, ..., \{n}.
For the first nine arguments, the braces are not required, so \1, \2,
..., \9 are valid alternatives. For compatibility with the TSC Flex as-
sembler, another form is accepted: &{1}, &{2}, ..., &{n}. Within a
string, the shorter &1, &2, ..., &9 is still valid, but as this can be
confused with bitwise AND, it is not permitted elsewhere.
位置指定変数は、\{1}、\{2}、...、\{n} で参照されます。
最初の 9 つの引数については、中括弧は必須ではないため、\1、\2、...、\9 も有効な表記です。
TSC Flexアセンブラとの互換性のため、&{1}, &{2}, ..., &{n} という別の形式も受け入れられます。
文字列内では、より短い &1, &2, ..., &9 も有効ですが、
ビット単位のAND演算と混同される可能性があるため、それ以外の場所では許可されません。
Here's a silly example demonstrating positional variables and symbol
pasting. Consider the following macro definition and utilising code:
ここでは、位置指定変数とシンボルの貼り付けを説明する、ちょっとした例を紹介します。
以下のマクロ定義と、それを用いたコードを見てみましょう:
go_left equ -1
go_right equ +1
move macro
lda x_position
adda #go_\1
sta x_position
endm
do_move
move "right"
rts
x_position rmb 1
The main code generated is as follows:
生成された主なコードは以下の通りです:
0000 do_move
0000 move "right"
0000 B60009 lda x_position
0003 8B01 adda #go_\1
0005 B70009 sta x_position
0008 39 rts
Pseudo-ops
Conditional assembly:
疑似命令
条件付きアセンブリ:
IF condition
Subsequent lines are assembled only if condition evaluates to
true (non-zero).
条件が真(0以外)と評価された場合にのみ、以降の行がアセンブルされる。
ELSIF condition
Subsequent lines are assembled only if all preceding IF and EL-
SIF pseudo-ops evaluated to false (zero) and condition evaluates
to true (non-zero).
それ以降の行は、それ以前のすべてのIFおよびELSIF疑似命令の評価結果が
false(ゼロ)であり、かつ条件の評価結果がtrue(ゼロ以外)である場合にのみアセンブルされる。
ELSE Subsequent lines are assembled only if all preceding IF and EL-
SIF pseudo-ops evaluated to false (zero).
それ以降の行は、それ以前のすべてのIFおよびELSIF疑似命令の
評価結果がfalse(ゼロ)であった場合にのみ、アセンブルされる。
ENDIF Terminate an IF statement.
IF文を終了します。
Macro definition:
マクロの定義:
MACRO Start defining a macro. The macro's name shall be in the label
field. Subsequent lines up to the enclosing ENDM pseudo-op will
not be assembled until the macro is expanded. Macro definitions
may be nested; that is, using a macro may define another macro.
MACRO
マクロの定義を開始します。マクロ名はラベルフィールドに記述する必要があります。
続く行は、囲むENDM疑似命令まで、マクロが展開されるまではアセンブルされません。
マクロ定義はネスト可能です。
つまり、あるマクロを使用して別のマクロを定義することができます。
ENDM Finish a macro definition started with MACRO.
ENDM
MACROで開始したマクロの定義を終了します。
Inline data:
インラインデータ:
FCB 値[,値]...
FCC 値[,値]...
Form Constant Byte. Each value is evaluated either to a number
or a string. Numbers are truncated to 8 bits and stored directly
as bytes. For strings, the ASCII value of each character is
stored in sequential bytes.
型 定数 バイト。各値は数値または文字列として評価されます。
数値は8ビットに切り捨てられ、そのままバイトとして格納されます。
文字列の場合、各文字のASCII値が連続したバイトとして格納されます。
Historically, FCB handled bytes and FCC (Form Constant Character
string) handled strings. asm6809 treats them as synonymous, but
is rather more strict about what is allowed as a string delim-
iter.
従来、FCBはバイトを扱い、FCC(Form Constant Character string)は
文字列を扱っていました。asm6809ではこれらは同義として扱われますが、
文字列の区切り文字として許可されるものについては、より厳格な制限が設けられています。
FCN 値[,値]...
Identical to FCC, but a terminating zero byte is stored after
the data. Included to increase compatibility with other assem-
blers.
FCCと全く同じですが、データの後に終端にゼロのバイトデータが格納されます。
他のアセンブラとの互換性を高めるために含まれています。
FCS 値[,値]...
Like FCC, but the last byte in each value has its top bit set. This is
the format used to represent keywords in the Dragon and Tandy Colour
Computer BASIC ROMs.
FCCと同様ですが、各値の最後のバイトの最上位ビットがセットされています。
これは、DragonおよびTandyのカラーコンピュータBASIC ROMにおいて、
キーワードを表すために使用される形式です。
FCV 値[,値]...
Like FCC, but ASCII is translated into the values typically required
for display by the MC6847 VDG as present in the Dragon and Tandy Colour
Computer.
FCCと同様ですが、ASCIIは、DragonやTandy Colour Computerに搭載されている
MC6847 VDGによる表示に通常必要な値に変換されます。
FCI 値[,値]...
Like FCV, but inverts bit 6 for inverse video.
FCVと同様ですが、反転表示のためにビット6を反転させます。
FDB 値[,値]...
Form Double Byte. Each value is evaluated to a number, which is
truncated to 16 bits and stored as two successive bytes (big-en-
dian).
2Byte型:各値は数値として評価され、16 ビットに切り捨てられた後、
2つの連続したバイトとして格納されます(ビッグエンディアン)。
FQB 値[,値]...
Form Quad Byte. Each value is evaluated to a number, which is
truncated to 32 bits and stored as four successive bytes (big-
endian).
4Byte型:各値は数値として評価され、32ビットに切り捨てられた後、
4つの連続したバイトとして格納されます(ビッグエンディアン)。
FILL 値,件数
Insert count bytes of value. This is effectively the same as the
two-argument form of RZB with its arguments swapped.
数値を件数分を挿入します。これは実質的に、
引数の順序が入れ替わったRZBの2引数形式と同じです。
RZB 件数[,値]
ZMB 件数[,値]
BSZ 件数[,値]
Reserve Zeroed Bytes. Inserts a sequence of count bytes of zero,
or value if specified. The two-argument form is effectively the
same as FILL with its arguments swapped.
ゼロデータのバイト領域を確保します。
指定された場合、count バイト分のゼロ、または value を挿入します。
引数が 2 つの形式は、実質的に引数の順序が入れ替わった FILL と同じです。
ZMB and BSZ are alternate forms recognised for compatibility
with other assemblers.
ZMB と BSZ は、他のアセンブラとの互換性を確保するために認められている代替形式です。
Code placement & addressing:
コードの配置とアドレス指定:
ALIGN バイト数[,値]...
Align to memory next alignment bytes. Pads with value. If value
is not specified, this behaves like RMB instead.
次のバイト数分、メモリを値で埋めます。値が指定されていない場合、
代わりにRMBと同様に動作します。
ORG address
Sets the Program Counter--the base address assumed for the next
assembled instruction. Unless followed by a PUT pseudo-op, this
will also be the instruction's actual address in memory. A label
on the same line will define a symbol with a value of the speci-
fied address.
プログラムカウンタ(次のアセンブルされる命令のベースアドレス)を設定します。
PUT疑似命令が続かない限り、これはメモリ上のその命令の実際のアドレスにもなります。
同じ行にラベルを記述すると、指定されたアドレスを値とするシンボルが定義されます。
PUT address
Modify the put address--the Program Counter is unaffected, so
the assumed address for subsequent instructions remains the
same, but the actual data will be located elsewhere. Useful for
assembling code that is going to be copied into place before ex-
ecuting.
書き込み先アドレスを変更します。プログラムカウンタは影響を受けないため、
後続の命令が想定するアドレスは変わりませんが、実際のデータは別の場所に配置されます。
これは、実行前に所定の位置にコピーされるコードをアセンブルする際に役立ちます。
RMB count
Reserve Memory Bytes. The Program Counter is advanced count
bytes. In some output formats this region may be padded with ze-
roes, in others a new loadable section may be created.
メモリの予約バイト数。プログラムカウンタはバイト分進みます。
出力形式によっては、この領域がゼロで埋められる場合もあれば、
別のロード可能なセクションが作成される場合もあります。
SECTION name
CODE
DATA
BSS
RAM
AUTO Switch to the named section. The Program Counter will continue
from the last value it had while assembling this section, or
follow the previous section if had not previously been seen.
AUTO 指定されたセクションに切り替えます。プログラムカウンタは、
このセクションのアセンブル中に最後に保持していた値から継続するか、
または、そのセクションがまだ処理されていない場合は、前のセクションの処理を続けます。
Each of CODE, DATA, BSS, RAM, and AUTO switches to a section
named after the pseudo-op. They are recognised for compatibility
with other assemblers.
CODE、DATA、BSS、RAM、およびAUTOの各スイッチは、
擬似命令の名前にちなんで名付けられたセクションに切り替わります。
これらは、他のアセンブラとの互換性を確保するために定義されています。
SETDP page
Set the assumed value of the Direct Page (DP) register to page
for subsequent instructions. Any non-negative page is truncated
to 8 bits, or specify a negative number to disable automatic di-
rect addressing.
Direct Page (DP) レジスタの仮定値を、以降の命令に対して[page]に設定します。
非負のページ番号は8ビットに切り捨てられます。
また、負の数値を指定すると、自動ダイレクトアドレッシングが無効になります。
See the section on Direct Page addressing for more information.
詳細については、「ダイレクトページアドレス指定」のセクションを参照してください。
Symbols:
EQU value
Short for "equate", this must be used with a label and defines a
symbol with the specified value. This may be any single valid
argument (e.g. an expression or a string).
「equate」の略語であり、ラベルと組み合わせて使用する必要があります。
これにより、指定された値を持つシンボルが定義されます。
この値は、有効な単一の引数(式や文字列など)であれば何でも構いません。
EXPORT name[,name]...
Each name--either the name of a macro or a symbol--is flagged to
be exported. Exported macros and symbols will be listed in the
exports output file, if specified.
マクロ名またはシンボル名といった各名前には、エクスポート対象であるという
フラグが付けられます。エクスポートされたマクロおよびシンボルは、
指定されている場合、exports出力ファイルに一覧表示されます。
SET value
Similar to EQU, this must be used with a label and defines a
symbol with the specified value. Unlike EQU, you can use SET
multiple times to assign different values to the same symbol
without error.
EQUと同様に、これはラベルと組み合わせて使用する必要があり、
指定された値を持つシンボルを定義します。EQUとは異なり、SETを複数回使用して、
同じシンボルに異なる値を割り当ててもエラーは発生しません。
Files:
END [address]
Signifies the end of input. All further lines are disregarded.
入力の終了を示します。それ以降の行はすべて無視されます。
Optionally specifies an EXEC address to be included in the out-
put, where supported by the output format. An EXEC address spec-
ified on the command line will override any value specified
here.
出力形式でサポートされている場合、出力に含めるEXECアドレスをオプションで指定します。
コマンドラインで指定されたEXECアドレスは、ここで指定された値よりも優先されます。
INCLUDE filename
Includes the contents of another file at this point in assembly.
The filename argument must be a string, i.e. delimited by quotes
or / characters.
アセンブリのこの位置に、別のファイルの内容を組み込みます。
引数 filename は文字列でなければなりません。つまり、引用符 「”」または / 文字で
囲まれている必要があります。
INCLUDEBIN filename
Includes the binary data from filename (which, as with INCLUDE
must be a delimited string) directly.
filename(INCLUDEと同様に、区切り文字で囲まれた文字列である必要があります)から
バイナリデータを直接読み込みます。
Direct Page addressing
The 6809 extends the zero page concept from other processors by allow-
ing fast accesses to whichever page is selected by the Direct Page reg-
ister (DP). An assembler is not able to keep track of what the code has
set this register to, but the information is useful when deciding which
addressing mode to use for an instruction. The SETDP pseudo-op, or
--setdp option, informs the assembler that the supplied value is to be
assumed for DP. Set this to a negative number to undefine it and dis-
able automatic use of direct addressing (this is the default).
6809は、ダイレクト・ページ・レジスタ(DP)によって選択されたページへの
高速アクセスを可能にすることで、他のプロセッサのゼロ・ページ概念を拡張しています。
アセンブラは、コードによってこのレジスタがどのような値に設定されたかを
追跡することはできませんが、この情報は、命令にどのアドレス指定モードを使用するかを
決定する際に役立ちます。
SETDP 疑似命令、または--setdp オプションは、指定された値を DP の値として
扱うようアセンブラに指示します。負の数値を設定すると、
DP を未定義とし、ダイレクトアドレッシングの自動使用を
無効にします(これがデフォルトです)。
LICENCE
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
このプログラムはフリーソフトウェアです。フリーソフトウェア財団が公表した
GNU General Public License(以下「GPL」)の条件に基づき、
バージョン3、または(選択により)それ以降のいずれかのバージョンに従って、
これを再配布および/または改変することができます。
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
本プログラムは、有用であることを願って配布されていますが、いかなる保証も伴いません。
商品性および特定目的への適合性に関する黙示の保証さえも含まれません。
詳細については、GNU General Public License をご覧ください。
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
このプログラムには、GNU一般公衆利用許諾契約書のコピーが同梱されているはずです。
もし同梱されていない場合は、<http://www.gnu.org/licenses/> をご覧ください。
asm6809-2.12 February 2019 asm6809(1)
コメント
コメントを投稿