PC-6001(モード1~4)のみで使えるものは (N60), PC-6001mkII/PC-6601(モード5)のみで使えるものは (N60m) と記述してあります. どちらも書いていないものは両方で使えます.
PC-6001mkIISR/PC-6601SR(モード6)については, BIOSが大幅に変更されているため, ここでは触れません.
0010H スペースをとばして1文字読む
アドレス | 0010H |
---|---|
概要 | スペースをとばして1文字読む |
破壊 | AF----HL |
入力 | HL←先頭の文字の1つ前のアドレス |
出力 |
A←20H(スペース)でない最初のコード HL←Aレジスタの内容のアドレス CY←1 (30H≦A≦39Hの時) Z←1 (A=00H,3AH(コロン)の時) |
解説 |
HLレジスタで指定する次のアドレスの内容を,Aレジスタに入れます.ただし20H(スペース)の場合は読みとばして,20H以外のコードが見つかるまでHLレジスタをインクリメントし,そのコードをAレジスタに入れます. Aレジスタの値が,数字を表すASCIIコード(30H~39H)の場合はCY=1とし,00Hから3AH(コロン)の場合にはZ=1として戻ります. 次のサンプルプログラムは,任意の文字をキーインして(スクリーンエディットできます),そのうちスペースでない文字だけを表示するものです.STOPキーを押すと,リターンします. |
サンプル |
; |
0020H HLとDEの比較
アドレス | 0020H |
---|---|
概要 | HLとDEの比較 |
破壊 | AF------ |
入力 |
DE←符号なし16ビット整数 HL←符号なし16ビット整数 |
出力 |
HL>DEの時 Z←0, CY←0 HL=DEの時 Z←1, CY←0 HL<DEの時 Z←0, CY←1 |
解説 |
HLレジスタの内容と, DEレジスタの内容(それぞれ符号なしの16ビット整数) を比較し, 結果をゼロフラグ(Z)とキャリーフラグ(CY)に入れて戻ります. |
1058H キーバッファのクリア
アドレス | 1058H |
---|---|
概要 | キーバッファのクリア |
破壊 | |
入力 |
|
出力 |
|
解説 |
キーバッファをクリアします. ここでいうキーバッファとは, キー入力用のバッファ(FBB9H~FBF8H)のことで, スクリーンエディット用のバッファ(FEDAH~FF21H)のことではありません. 従って, 先行入力したデータをすべて消すことができるので, ゲームなどに利用できます. |
1061H STICK・STRIGデータ入力
アドレス | 1061H | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
概要 | STICK・STRIGデータ入力 | ||||||||||||||||||
破壊 | AF------ | ||||||||||||||||||
入力 |
|
||||||||||||||||||
出力 |
A←FECAHの内容 |
||||||||||||||||||
解説 |
このサブルーチンでは, μPD8049にコマンド6を出力して, STICK・STRIG関係のキー入力を調べ, その結果をFECAHとAレジスタに格納します. この時のデータは以下のようになっていて, 押されたキーのビットが1になります.
|
1A61H CMT LOADイニシャライズ
アドレス | 1A61H |
---|---|
概要 | CMT LOADイニシャライズ |
破壊 | -------- |
入力 |
|
出力 |
|
解説 |
8049に, CMTをLOAD用にOPENするコマンドを出力し, モーターをONにします. |
1A70H CMTからの1バイト入力
アドレス | 1A70H |
---|---|
概要 | CMTからの1バイト入力 |
破壊 | AF------ |
入力 |
|
出力 |
A←入力したデータ Z←0 (異常終了) Z←1 (正常終了) |
解説 |
CMTより1バイト入力し, Aレジスタにそのデータを格納します. 正常終了した場合はZフラグを1に, 異常終了した場合(STOPキーを押した時, リードエラーが発生した時) はZフラグを0にして戻ります. |
コメント
最新を表示する
NG表示方式
NGID一覧