Blogger(VL,NL,XL-BASIC,サンプルダウンロードなど)

VL,NL,XL-BASIC(ver0.0028p2)公開中 2023/4/28(金)

VL(PC-98風?+CPU-RealTimeRayTracing)

NL(PC-9821+一部PC-9821の256色)

XL(PC-8801FA?MML,Z80)

N88-BASIC互換BASIC

 

SJISとグラフィックキャラの切替えの不具合など修正

 

PRINT関係で不具合がある場合

?LBasic/Doc/?LBasic01.txtを?LBasic/?LBasic01.txtにコピーし
?コマンドの数値を4減らすと動く場合があります

 

 

2023/4/26(水)

N88-BASICでZ80アセンブリ (3回目)

 

N88-BASIC(PC-8801)互換?XL-BASICのMONで

アセンブリを動かして見ます

 

XLBasic01.exeをダブルクリックして

XL-BASICを起動して下さい

 

mon

でモニターに入り

a9000

でアセンブリを打って行きます

(小文字は大文字に変換されます)

 

LD A,80H         … Aレジスタに文字コード&h80を入れる

LD HL,0F3C8H  … HLレジスタにT-VRAM(&hF3C8)を入れる

LD B,80           … Bレジスタに文字数(80)を入れる

LD (HL),A        … HL番地にAを入れる

INC HL            … HL = HL + 1

INC A              … A = A + 1

DJNZ 9007H    … B = B - 1:IF B <> 0 THEN LD (HL),Aへ

RET                … RETURN(終了)

 

相対ジャンプ命令も絶対アドレスで指定して下さい

自動で相対アドレスに変換されます

 

T-VRAMの先頭から

キャラクターコード&h80~

文字を80文字書込む

プログラムです

 

(XL-BASICはT-VRAMアドレスの変更には

対応していませんので常に&hF3C8~です)

 

g9000,-

9000hからRETまで実行します

(途中のCALL,RETのペアでは止まりません)

 

tで1命令ずつトレース出来ます

t2で2命令ずつ,t-でRETまでトレースします

 

XLBasic/Doc/ReferenceXL.txtの

MONの所にコマンドの説明がありますので

参照して下さい

 

 

 

l9000,+d

9000h~dhバイトの逆アセンブルを表示します

 

l9000,+d,d

DATA文として逆アセンブルを

XLBasic01prn.txtに出力します

 

LOADすると行番号が付加されます

 

BASICプログラムからアセンブリを実行するのに

使用して下さい

 

XL-BASIC付属のアセンブリのサンプル

(XLBasic/AZ/z1.bas~z3.bas)は

この方法で作成しています

 

 

また、TRONの状態でBASICからマシン語を

呼び出す(CALL,USR)とMONに入るので

tコマンドでトレース出来ます

 

 

N88-BASIC互換?XL-BASICは

以下のリンクからダウンロードできます

https://ulprojectmail.blogspot.com

Readme.txtを読んで遊んで下さい