Z80に関しての宿題なのですが、
Z80に関しての宿題なのですが、
「コール命令を使った電子オルガン」
キーを入力したら対応する音が鳴るようにプログラミングする。(入力を
常に監視し、FFHでなかったらサウンド出力をする。)プログラムは4400H番地から書く。
キー入力:CALL 2018Hと呼ぶとAレジスタに押されたキーの内容が入ってくる。
押されないとFFHが入っている。(いずれかのキーが押されるとAレジスタには00Hから17Hまでの対応する値が格納される。)
サウンド出力:Aレジスタに00Hから17Hを入力してCALL 201BHと呼ぶと対応する音が鳴る。
(1)キー入力を行った.Aレジスタにキーの内容が入る。
(2)AレジスタがFFHの場合は(1)に戻る。そうでないときは(3)へ行く。
(3)Aレジスタの内容により、サウンド出力を行った。
(4)(1)に戻る。
ニーモニック
CALL , 2018H
SUB FFH
JP Z , (4400H) ・・・・(ゼロフラグZが1の時、4400番地にジャンプする。)
ADD FFH
CALL , 201BH
JP 4400H
↑のようにすればよいのですが、なぜなのかいまいちわかりません。異なるコードで実装せよ。とのことなので理解したいです。おしえてください。