概要
jsdoでMK-80やってみた。
ハンドアセンブルを説明してみる。
準備する物
インテル8080命令セット
https://qiita.com/ohisama@github/items/c66231c3367227b31cbc
インテル8080命令コード表
https://qiita.com/ohisama@github/items/d59fa40ded943fe67f7e
鉛筆、メモ紙
お題
LEDに00000000と表示する。
作成するプログラム
口で言うと
アキュムレータに0を転送して、83f4番地から83f7番地にセーブして、LED表示サブルーチンを呼ぶ。停止。
アセンブラで書くと
アキュムレータに0を転送して、
MVI A, 00H
83f4番地から83f7番地にセーブして、
STA 83F4H
STA 83F5H
STA 83F6H
STA 83F7H
LED表示サブルーチンを呼ぶ。
CALL LEDSEGDISP
停止。
HLT
バイナリーにしてみる。
コード表から拾います。
コードの番地を加算します。
8200 3E 00
8202 32 F4 83 ; 番地は、2バイトで順番が逆
8205 32 F5 83
8208 32 F6 83
820B 32 F7 83
820E CD C0 01 ;LED表示サブルーチンは、01c0番地から
8211 76
打ち込み
このページを開きます。
http://jsdo.it/ohisama1/0CJb
8 2 0 0 adrset
3 E writeinc 0 0 writeinc
3 2 writeinc F 4 writeinc 8 3 writeinc
3 2 writeinc F 5 writeinc 8 3 writeinc
3 2 writeinc F 6 writeinc 8 3 writeinc
3 2 writeinc F 7 writeinc 8 3 writeinc
C D writeinc C 0 writeinc 0 1 writeinc
7 6 writeinc
実行
8 2 0 0 adrset run
以上