何のルーチンでしょう?
ふとZ80ボード 3号機で遊んでいたときに考えたルーチンを思い出しました。
1: 8000 ORG 8000H
2: 8000 check:
3: 8000 7E LD A,(HL)
4: 8001 AE XOR (HL)
5: 8002 C9 RET
ルーチンと呼ぶのもおかしいほどの短いコードです。何をするものでしょうか?
Z80のコードがわからない人のために簡単に解説するとこんな感じです。
- 1,2行目は開始番地とエントリポイントのラベルです。
- 3行目でHLレジスタの指すメモリを読んでAレジスタに入れます。
- 4行目でもHLレジスタの指すメモリを読み、Aレジスタの内容とXOR演算をします。結果はAレジスタに入ります
- 5行目でメインルーチンへ帰ります。
簡単ですね。