Changes

Jump to: navigation, search

ASSEMBLER ALASM JP

7 bytes added, 03:49, 13 February 2020
4.アセンブラーディレクティブ
== 4.アセンブラーディレクティブ==
ORGアドレス ORG address[、ページ,page]
コンパイルアドレスを設定します(DISPシフトに関して)。 デフォルトでは、ページは以前に別のORGで言及されたページです。 アセンブリの開始時は0です。
label EQU valueラベルを値として定義します。 値は、評価される式である場合があります。 既存のラベルを再定義するには、label = valueを参照してください。
DISPアドレスDISP adress
プログラムのワークアドレスを設定します。これは、コンパイルされたワークアドレスとは異なる場合があります。
プログラムの作業アドレスを現在のコンパイルアドレスに設定します。 例:SCREEN EQU#4000
ORG#8000 ORG #8000 LD HL、BEGINHL,BEGIN ;出典:routineSource: routine LD DE、SCREENDE,SCREEN ;宛先:画面領域Destination: screen area LD BC、ENDBC,END-BEGIN ;サイズ:ルーチンサイズSize: routine size LDIR ;コピーcopy 通話画面、それを呼び出すCALL SCREEN ;call it DI HALT ;永遠にハングアップhang forever BEGIN DISP SCREEN MARKA DEC Aを開始A
停止 HALT JP NZ、MARKANZ,MARKA ; JPを使用して動作しますwe use JP and it works RET ENT 終わり END
この方法で現在のDISPシフト(shift = org-disp)を取得できます:ORG 0
「ALASM2」を含む
停止
 
LDIRがアセンブルされ、次にページ1にロードされる「TOKENIZE.H」ソース、OTDR、現在のソースの上にロードされる「ALASM2.H」ソース、次に現在のソースが再ロードされます。ディスク(前に保存することを忘れないでください)、HALTから続行します。
メイン "MAKE6?7"、6
LDIR
 
ASSEMBLEが実行されると、コンパイルはページ6にあるMAKE6 * 7ソースから開始されます。これは、MAINとLDIRを含むこのマイナーユニットを含むことになっています。 INCLUDEされると、MAINディレクティブは無視され、LDIRからコンパイルが続行されます。
LD(HL)、D
EDUP
 
このブロックは32回コンパイルされます。 ラベルで構成されるカウンター(label = valueを参照)を使用でき、条件付きコンパイル分岐を使用できます。
<本体>
ENDM
 
マクロ定義。 マクロ内:\ 0 .. \ 9-パラメーター0,1,2、.. 9 \ C-パラメーターの現在のシンボル\ N-パラメーターの次のシンボルに移動(何も返さない)\ S <char>-現在のシンボルの文字列until <char> symbol \ P-シフトパラメーターの列挙。 パラメータ1は0などになります。パラメータ0が返されます。 \ R-\ Pの前の初期パラメーターの列挙を復元します。

Navigation menu