1,041
edits
Changes
→4.アセンブラーディレクティブ
ENT
プログラムの作業アドレスを現在のコンパイルアドレスに設定します。 例:SCREEN EQU#4000例:
ORG #8000
LD HL,BEGIN ;Source: routine
DI
HALT ;hang forever
BEGIN DISP SCREEN MARKA DEC A
HALT
JP NZ,MARKA ;we use JP and it works
END
この方法で現在のDISPシフト(shift = org-disp)を取得できます:ORG 0disp)を取得できます:
a ORG 0
ENT
ORG a + shiftをシフトshift DISP a
LDIR
MAIN "filename"[,page]
現在のソース(プロジェクトのマイナーユニットと見なされる)の代わりに、指定されたメインソースをコンパイルします。 ソースの最初のコマンドでなければなりません。 記号「。」 記号「.」 ファイル名の「*」は「?」として指定する必要があります。 例:
MAIN "MAKE6?7",6
INCBIN "drv:filename" [,size]
ディスクからロードされたsizeバイト(またはディレクトリで指定されたサイズ)のコードブロックをコンパイル済みコードに含めます。 ディスク上のファイルがサイズよりも長い場合、部分的にロードされます。
DUP <番号>
コンパイル中に何度も繰り返されるブロックの始まり。 数値はいつものように表現することができます。
DB byte|string[,byte|string...]
DEFBと同じ。 バイトは式である場合があります(結果の下位バイトが使用されます)。 例:
STSは最初のアセンブリでのみロードされます。
label = expressionラベルを定義または再定義します。 expression ラベルを定義または再定義します。 例:SHLUSS = 0
ORG 32768
IF0 <式>
<body1>
[そうしないと ELSE
<body2>]
ENDIF
IFN <式>
<body2>
[そうしないと ELSE
<body1>]
ENDIF
<本体>
ENDL
ローカルラベルブロック。 この構造内のすべてのラベルは、外部では見えません(@で始まるグローバルラベルを除く)。 LOCAL内のLOCALは許可されます。 ラベルがLOCALブロック内で定義されているが、このラベルが外部からアクセスされた場合、グローバルになります。
ENDM
<マクロ名> [パラメーター1 [、パラメーター...]]