我正在学习z80汇编。我正在使用Zaks教科书“ Programming the Z80”,在介绍了如何将HL寄存器用作16位运算的累加器之后,他将以下内容作为32位加法的基本示例:
LD HL,(ADR1)
LD BC,(ADR2)
ADD HL, BC
LD (ADR3)
LD HL,(ADR1+2)
LD BC,(ADR2+2)
ADC HL,BC
LD (ADR3+2)
其中(ADRx)表示任意地址。
指令“ LD(ADR3)”是否出现打印错误?在其他每个示例中,LD都传递了两个参数。
感谢您的帮助。
答案 0 :(得分:3)
指令“ LD(ADR3)”是否出现打印错误?
是
很明显,这些指令的意思是“ LD (ADR3), HL
”而不是“ LD (ADR3)
”和“ LD (ADR3+2), HL
”而不是“ LD (ADR3+2)
”。