高さhから離し
半径rの円を回転する条件
h≧(5/2)rの導出など
詳しくは
https://ulprojectmail.blogspot.com/2023/03/centrifugal-2.html
遠心力 (2回目)
2023/3/17(金)
N88-BASICでZ80アセンブリ (2回目)
N88-BASIC(PC-8801)互換?XL-BASICのMONで
アセンブリを動かして見ます
XLBasic01.exeをダブルクリックして
XL-BASICを起動して下さい
mon
でモニターに入り
a9000
でアセンブリを打って行きます
LD A,1 … Aレジスタに1を入れる
LD B,2 … Bレジスタに2を入れる
ADD A,B … A = A + B
RET … サブルーチンの終わり
l9000,+6
で9000h~6バイトの逆アセンブルを表示します
l9000,+6,d
でDATA文として逆アセンブルを
XLBasic01prn.txtに出力します
LOADすると行番号が付加されます
BASICプログラムからアセンブリを実行するのに
使用して下さい
XL-BASIC付属のアセンブリのサンプル
(XLBasic/AZ/z1.bas~z3.bas)は
この方法で作成しています
XLBasic/Doc/ReferenceXL.txtの
MONの所にコマンドの説明がありますので
参照して下さい
また、TRONの状態でBASICからマシン語を
呼び出す(CALL,USR)とMONに入るので
tコマンドでトレース出来ます
N88-BASIC互換?XL-BASICは
以下のリンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
2023/3/16(木)
N88-BASICでZ80アセンブリ (1回目)
N88-BASIC(PC-8801)互換?XL-BASICの
MONで
お手軽に
Z80アセンブリを
動かして見ます
(実機のmonと機能が違うので注意して下さい)
XLBasic01.exeをダブルクリックして
XL-BASICを起動して下さい
mon
でモニターに入り
a9000
でアセンブリを打って行きます
LD A,1 … Aレジスタに1を入れる
LD B,2 … Bレジスタに2を入れる
ADD A,B … A = A + B
RET … サブルーチンの終わり
xでレジスターの内容を表示出来ます
g9000
で9000から1命令実行
t
で続き(PCが示すアドレス)から1命令実行
t-
でRET実行まで進みます
(途中のCALL,RETのペアでは停止しません)
最終的に
Aレジスターに1+2の結果3が入ります
l9000,+6
で9000番地から6バイト逆アセンブルできます
XL-BASICでは
CALLされていない(RETでSPが0になる)
状態でRETが実行されると
それ以上実行されないようにしてあります
CLEAR ,&H8FFFなどでSPが書き変わった後は
安全処置が働かなくなるので注意して下さい
Ctrl+bまたはBreakキーでMONを終了し
BSAVE "ファイル名.bin",&H9000,6
(6はバイト数)
でセーブ
BLOAD "ファイル名.bin"
でロード
できます
注意
アセンブリの実行は固まって動かなくなることが
ありますので保存(セーブ)を忘れないようにして下さい
余談
普段あまり厳密に使い分けていないので
間違いがあるかもしれませんが
アセンブリとアセンブラの違いについて書いておきます
機械語(16進数の集まり、マシン語)と1:1で
対応している言語をアセンブリ言語と言う
アセンブリ言語を機械語に変換するプログラムを
アセンブラと言う
N88-BASIC互換?XL-BASICは
以下のリンクからダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい
Blogger(VL,NL,XL-BASIC,サンプルダウンロードなど)
VL,NL,XL-BASIC(ver0.0028o2)公開中 2023/3/14(火)
VL(PC-98風?+CPU-RealTimeRayTracing)
NL(PC-9821+一部PC-9821の256色)
XL(PC-8801FA?MML,Z80)
EDITの不具合などの修正
詳しくはReadme.txt参照して下さい
PRINT関係で不具合がある場合
?LBasic/Doc/?LBasic01.txtを?LBasic/?LBasic01.txtにコピーし
?コマンドの数値を4減らすと動く場合があります
遠心力の大きさを表示します
詳しくは
https://ulprojectmail.blogspot.com/2023/03/n88-basiccentrifugal-1.html
N88-BASICで遠心力 (1回目)

