1,041
edits
Changes
→挿入モード:
エディターコマンドリスト(Caps Shift + Symbol Shiftの拡張キー):
カーソルの直後の位置からテキストの終わりまで検索します。 検索はssIで繰り返すことができます。ssIは、現在の位置から開始するか、カーソルが最後にある場合は先頭から開始します。 検索文字列が指定されていない場合、古い検索文字列が使用されます。
定義されたラベルを検索します(つまり、行の最初にあります)。 labelnameには、ラベルの最初のいくつかのシンボルを含めることができます-これで始まるすべてのラベルが見つかります。
string1を検索してstring2に置き換えます。 交換を求めます:Y-はい、N-いいえ、さらに検索、G-はい、さらに詳細、BREAK-停止。
指定されたコードでシンボルを挿入します。 XXXは、カーソルの下のシンボルコードを示します。
カーソルの後にポケットデータ(マークおよび削除された行)を挿入します。 ポケット追加フラグをリセットして、次のポケット操作でポケットをクリアします。
ポケットをクリアします。
編集モードの変更:挿入して上書きまたは元に戻します。 状態は構成を介して保存できます。
現在の行の変更を元に戻します(カーソルがまだ移動されていない場合)。 それ自体で元に戻すことができます。
行にテキストが含まれていないすべてのラベルを表示します。 これらは通常、プロシージャ名です。 ユーザーは、カーソルキーとEnterキーを使用してそれらの間を移動したり、BREAKしたりできます。
== 4.アセンブラーディレクティブ==
コンパイルアドレスを設定します(DISPシフトに関して)。 デフォルトでは、ページは以前に別のORGで言及されたページです。 アセンブリの開始時は0です。
label EQU valueラベルを値として定義します。 valueラベルを値として定義します。 値は、評価される式である場合があります。 既存のラベルを再定義するには、label = valueを参照してください。
プログラムのワークアドレスを設定します。これは、コンパイルされたワークアドレスとは異なる場合があります。
ENT
プログラムの作業アドレスを現在のコンパイルアドレスに設定します。 例:SCREEN 例: SCREEN EQU#4000 ORG #8000 LD HL,BEGIN ;Source: routine LD DE,SCREEN ;Destination: screen area LD BC,END-BEGIN ;Size: routine size LDIR ;copy CALL SCREEN ;call it DI HALT ;hang forever BEGIN DISP SCREEN MARKA DEC A HALT JP NZ,MARKA ;we use JP and it works RET ENT END この方法で現在のDISPシフト(shift = org-disp)を取得できます:
a ORG 0 ORG#8000ENT LD HL、BEGIN;出典:routine LD DE、SCREEN;宛先:画面領域 LD BC、END-BEGIN;サイズ:ルーチンサイズ LDIR;コピー 通話画面、それを呼び出す DI HALT;永遠にハングアップ ORG a + shift DISP SCREEN MARKA DEC Aを開始a
LDIRがアセンブルされ、次にページ1にロードされる「TOKENIZE.H」ソース、OTDR、現在のソースの上にロードされる「ALASM2.H」ソース、次に現在のソースが再ロードされます。ディスク(前に保存することを忘れないでください)、HALTから続行します。
ASSEMBLEが実行されると、コンパイルはページ6にあるMAKE6 * 7ソースから開始されます。これは、MAINとLDIRを含むこのマイナーユニットを含むことになっています。 INCLUDEされると、MAINディレクティブは無視され、LDIRからコンパイルが続行されます。
INCBIN "drv:filename" [、size,size]
ディスクからロードされたsizeバイト(またはディレクトリで指定されたサイズ)のコードブロックをコンパイル済みコードに含めます。 ディスク上のファイルがサイズよりも長い場合、部分的にロードされます。
DUP <番号>
コンパイル中に何度も繰り返されるブロックの始まり。 数値はいつものように表現することができます。
このブロックの終わり。 DUPは別のDUP内にある可能性があります。 例:
このブロックは32回コンパイルされます。 ラベルで構成されるカウンター(label = valueを参照)を使用でき、条件付きコンパイル分岐を使用できます。
<expression>が0になるまで<body>を繰り返します。
DEFBと同じ。 バイトは式である場合があります(結果の下位バイトが使用されます)。 例:
DEFWと同じです。 例:
DW ALASKA、BUFFER、12、#BD15ALASKA,BUFFER,12,#BD15,32767,32767、.NUMB1 DEFW 12345,34567
DS howmanytimes [、bytes]
DEFSと同じ。 バイト(デフォルトではゼロバイト)は、指定された回数だけ現在のコンパイルアドレスに挿入されます。 例:
DD [#] hexbyte [hexbytes]
16進バイトをコンパイルします。
DD 1D4FDC、42231D4FDC, 4223は、以下と同じです DB #1D, #4F, #DC, #42, #23と同じです
行サイズ=#2C ..#2Fでは使用しないでください! ディスクからテキストがロードされた後、行の先頭で「+」がスキャンされます(「-」は「+」になります)。 コンパイルはこれらの行をコンパイルし、「+」を「-」に変更して、2回目にコンパイルしないようにします。 例:
STSは最初のアセンブリでのみロードされます。
label = expressionラベルを定義または再定義します。 例:SHLUSS = 0expression ラベルを定義または再定義します。 例:
#8000の後のメモリは、単語0..16384で埋められます。
IF0 <式>
<body1>
[そうしないと ELSE
<body2>]
ENDIF
IFN <式>
<body2>
[そうしないと ELSE
<body1>]
ENDIF
反対。 254層までの条件付きコンパイル内の条件付きコンパイルが可能です。
<本体>
ENDL
ローカルラベルブロック。 この構造内のすべてのラベルは、外部では見えません(@で始まるグローバルラベルを除く)。 LOCAL内のLOCALは許可されます。 ラベルがLOCALブロック内で定義されているが、このラベルが外部からアクセスされた場合、グローバルになります。
<マクロ名> [パラメーター1 [、パラメーター...]]
マクロを使用します。 パラメーターはコンマで分割されます(引用符で囲まれたコンマはカウントしません)。
これは、画面アドレスを現在の行よりも下の行にカウントする一般的なDOWN HLまたはDOWN DEルーチンです。 このタイプの条件の使用:
アセンブリ中にメッセージや数字を表示します。 / D、/ H、および/ Aキーは、1つの次の番号の出力形式を定義します。 キーなしの番号は現在のシステムに表示されます(configを参照)。 / D-10進数、/ H-16進数、/ A-両方のシステム。 / Lは、行リードおよびキャリッジリターンなしで、古い行に表示することを定義します。 / Tは、指定された式とその値を示します。 例:
DISPLAY / A、 "abc + xyz"、abc + xyz
アセンブリ中に指定されたルーチンを呼び出します。 すべてのポストラベルはまだ評価されていません。ALASMは#8000です。
== 5.式==
優先順位なしで左から右に評価されます(括弧を除く)。 16ビットの符号付き/符号なし整数が使用されます。 a + b ab a-b a * b a / b a&b- a&b:AND a | b-:OR a!b- a!b:XOR a> b:"a"を"b"ビット分右にサイクリックシフトします a<b:上記と同様に左にサイクリックシフトします。 ():括弧です (最初に評価されます) {a}:"a"のメモリアドレスの内容です a~:現在の内容を反転します(-1-ワード「a」「b」ビットのサイクリックシフトa 4 a) ?label:ラベルが定義されている場合は0を、いない場合は#ffffを返します。定義されていないが、以前アクセスされていた場合は1を、ラベルがマクロである場合は2を返します。 'a:aの上位バイト .a:aの下位バイト %const:バイナリ数値 $:現在のコンパイルしているアドレス(DISP内ではシフトします) $$:現在のコンパイルしているページ + {$}}および-#BF43 make; mkace!を除くすべての操作では、ワンパスコンパイル方式により、以前に定義されていないラベルは許可されません。
== 6.エラー==
== 7. CONFIG==
フォント「FONT *」#9c40、#400(#8045、#3f0)をロードします。
ALASMの起動時に最新になるページ。
非アクティブのときにALASMが存在する場所。
組み立て中にラベルを含み、その後使用できるページ。 ラベルに4ページが必要ない場合は、左から未使用のページをゼロにします。 使用される最初のページは右端のページです。 ラベルページは端から埋められます。
組み立て中に投稿ラベルが含まれ、その後使用できないページ。 定義する前に使用されるラベルを評価するためのデータが含まれています。 使用される最初のページは右端のページです。 ポストラベルページは最初から埋められます。
コピーバッファー(ポケット)を含むページ。 アセンブリはそれをクリアします。 Postと同じ場合があります。
上位メモリのドライバーを設定します(#7000、#FF)
sts70r .C-デバッガー
gruzilka.B-ドライブBのローダー
128灰RV .C-128kメモリドライバーPENTDRV 128kメモリドライバー PENTDRV .C-ペンタゴン512kメモリドライバーP1MBDRV ペンタゴン512kメモリドライバー P1MBDRV .C-ペンタゴン1MメモリドライバーP4MBDRV ペンタゴン1Mメモリドライバー P4MBDRV .C-ペンタゴン4M、または追加配線なしの2M(#FDおよび#AFF7を使用)ATMDRV FDおよび#AFF7を使用) ATMDRV .C-ATM 1MメモリドライバPROFDRV 1Mメモリドライバ PROFDRV .C-PROFI 1MメモリドライバZSKAY5121Mメモリドライバ ZSKAY512.C-SCORP / KAYメモリドライバ(KAYで512kを使用)KAY1DRV KAYメモリドライバ(KAYで512kを使用) KAY1DRV .C-KAY 1MメモリドライバSCORP1M 1Mメモリドライバ SCORP1M .C-SCORP 1Mメモリドライバ al50stri.H-ALASM形式の説明 Fnt42Bld.H-画面から#3f0 ALASMフォント形式 REFNT42 .Hへの6x7(6x6)フォントコンバーター-逆 H_Search.B-破壊されたディスク H_Search.WのALASMソースを検索します Marazm.H、Humor.H、Humor.C指定された範囲の擬似乱数を返すRANDOMマクロの使用例。 SNAKE.H組み立てながらプレイするゲーム。 TASM用にこれを作成したRST7のクレジット。
v4.44の非互換性:ページ番号のないORGはページ0を設定しません。マクロパラメーターは\ではなく、:DB "" "、0はDB" ""、0 "を意味します。DB34,0またはDB" ""を書き込みます。 "、0