【问题标题】:What does a LD statement passed a single argument do when the HL register is used as a 16-bit accumulator?当 HL 寄存器用作 16 位累加器时,传递单个参数的 LD 语句有什么作用?
【发布时间】:2019-04-07 02:57:48
【问题描述】:

我正在学习 z80 组装。我正在使用 Zaks 教科书“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 都传递了两个参数。

感谢您的帮助。

【问题讨论】:

    标签: assembly z80


    【解决方案1】:

    指令“LD (ADR3)”是否打印错误?

    是的

    显然,指令的意思是“LD (ADR3), HL”而不是“LD (ADR3)”和“LD (ADR3+2), HL”而不是“LD (ADR3+2)”。

    【讨论】:

      猜你喜欢
      • 2016-08-29
      • 2012-01-18
      • 2013-05-14
      • 1970-01-01
      • 2021-01-16
      • 2019-03-26
      • 2021-11-13
      • 2012-01-11
      • 2010-10-31
      相关资源
      最近更新 更多