MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第109回]
●ファンクション0B
ファンクション0Bはコンソールステータスチェックです。
キーボードの入力をチェックしてキーが押されていないときはAレジスタに00を入れてリターンします。
キーが押されているときはAレジスタに00以外が入ります(キーのコードが入るということではありません)。
ファンクション0Bは「ワンボードマイコンでCP/Mを」[第363回]で説明をしています。
そこではテストプログラムFNC0BT−3を使ってテストを行なっています。
そこで今までと同じように、FNC0BT−3をインテルニーモニックに変換してMF0BT−3を作りました。
●テストプログラムMF0BT−3
下はMF0BT−3のソースプログラムです。
; BDOS function0B test(fnc0bt) ;2012/5/29 8/24 ;13/4/7 ; ORG $0100 FCALL=$0005 ; LOOP0:MVI E,2D LOOP:MVI C,02 CALL FCALL MVI C,0B CALL FCALL ORA A JZ LOOP0 MVI C,01 CALL FCALL CPI 1A;Ctrl+Z RZ MOV E,A JMP LOOP ; |
2015/1/21 14:57 mf0bt-3.txt END=011B ; BDOS function0B test(fnc0bt) ;2012/5/29 8/24 ;13/4/7 ; ORG $0100 FCALL=$0005 ; 0100 1E2D LOOP0:MVI E,2D 0102 0E02 LOOP:MVI C,02 0104 CD0500 CALL FCALL 0107 0E0B MVI C,0B 0109 CD0500 CALL FCALL 010C B7 ORA A 010D CA0001 JZ LOOP0 0110 0E01 MVI C,01 0112 CD0500 CALL FCALL 0115 FE1A CPI 1A;Ctrl+Z 0117 C8 RZ 0118 5F MOV E,A 0119 C30201 JMP LOOP ; FCALL =0005 LOOP =0102 LOOP0 =0100 |