MSX関連
マシン語プログラム入力ツール
ASM.zip 6K <DOWNLOAD>(turboR 専用)
概要
turboR
の
BASIC
上で動きます。
Z80
の
ダンプリスト
を見てプログラムが理解できる必要があります。
※
起動開始番地E45Ch(変更可能)
を超えるプログラムは作成できません
プログラム例
BIOS
の
CHPUT
をコールして
A-Z
までの文字を表示します。
BASIC
の1行目で
開始アドレス(表)・開始アドレス(裏)・格納アドレス
を指定。
#a
は
8bitラベル
で、
>a
は相対アドレスの計算をします。
ラベル(定数指定)
()
で括った
15文字
まで指定できます。
=
で設定します。
※
_Cl
は
0xCD
と同じです
ラベル(設定)
:
で設定されます。
※
_*b
は
R800
の掛け算命令(0xED.0xC1)です
※※ ランダムにアルファベットを32文字表示するプログラム
ラベル(裏)
’
で
裏の値
を参照できます。
別アドレスで動作するプログラムに使用できます。
※
;
は注釈で
,(コンマ)
で終了します
※※ 0〜15を16進表示するプログラム
数値
,,(コンマ×2)
で数値の
下位・上位
となります。
それ以外の場合は数値が
00-FFh
の時はそのままで、
100h
以上の時は
上位
の値になります。
%
を最初に付けると式全体の
下位値
、後ろに付けるとその値の
下位値
です。
(例)
1234,,99 → 0x34.0x12.0x99
1234,99 → 0x12.0x99
1234%,99 → 0x34.0x99
%1234+5678,,99 → 0xAC.0x00.0x99
文字列
””
内の文字列を出力します。
(例)
”ABC” → 0x41.0x42.0x43
”ABC”+1 → 0x42.0x43.0x44
”ABC”−1 → 0x40.0x41.0x42
”ABC”^1 → 0x40.0x43.0x42(XOR)
8bit・16bitラベル
#a
〜
#p
までは
8bitラベル
。
#q
〜
#x
までは
16bitラベル
。
使い捨てで何度でも設定できます。
8bitラベル
は範囲を超えると
Reference error
になりますが、
16bitラベル
を使うと解消される場合があります。
(例)
6,3,3E,20,#i_Cl 00A2,10,>i → 0x06.0x03.0x3E.0x20.0xCD.0xA2.0x00.0x10.0xFB
E,3,3E,20,#x_Cl 00A2,D,_jnz>x → 0x0E.0x03.0x3E.0x20.0xCD.0xA2.0x00.0x0D.0x20.0xFA
ジャンプ・コール命令
_jz _jnz _jc _jnc _Jz _Jnz _Jc _Jnc
が使えます。
相対
(j小文字)
、絶対
(J大文字)
を自動的に設定します。
但し
16bitラベル
を使う場合は
>
のみ使用可能です。
コール命令は、
_Cl _Cz _Cnz _Cc _Cnc
が使えます。
繰り返し
*
で1バイト単位の繰り返しが使えます。
(例)
*4 → 0x00.0x00.0x00.0x00
*5/34 → 0x34.0x34.0x34.0x34.0x34
|数値[,]
で範囲内の繰り返しが使えます。
※
危険命令です
。使用する際は
セーブ
してから行って下さい
※※
]
を付け忘れたり、範囲を超えたりすると暴走します
(例)
|2[,1A,2,13,3,] → 0x1A.0x02.0x13.0x03.0x1A.0x02.0x13.0x03
実行アドレス
!
でアドレスの補整ができます。
(例)
|2[,1A,2,13,3,],!−2,C9 → 0x1A.0x02.0x13.0x03.0x1A.0x02.0xC9
$
は現アドレスを示しています。
※
’
を指定すると
裏アドレス
になります
掛け算命令
_*b _*c _*d _*e _*h _*l _*(hl) _*a
_*bc _*de _*hl _*sp
が使えます
ビット操作命令
_t _r _s (BIT・RES・SET)
が使えます。
(例)
_t0.b → 0xCB.0x40 (BIT)
_r1.d → 0xCB.0x8A (RES)
_s7.(hl) → 0xCB.0xFE (SET)
プログラムの改変について
このツールのソース自体もこのツールで書かれています。
ラベル
b_cm
の値がワークエリアのメモリバンク。
9900行の
E45Ch
が起動開始番地です。
拡張等によりアドレスを変更する場合は1行目の
DC79h
と9900行目を書き換えて下さい。
その他
コンパイル中に
[取消]
キーを押すとラベル表示が中断されます。
免責事項
※ このプログラムの不具合により不利益を被る可能性がありますので御使用の際は十分注意して下さい
※ 当方は一切の責任を負いません
戻る
ツリー表示
トップページへ