我在 C 中的 GameBoy 模拟器工作。现在我正在处理 CPU.c 文件,我对这里列出的一些指令有点困惑:
http://realboyemulator.files.wordpress.com/2013/01/gbcpuman.pdf如果您参考上述 PDF 的第 66 页,并查看与操作码 0x7E 相对应的指令-LD,R1,R2,我对此感到好奇。
GB 有 8 个 8 位寄存器,A,B,C,D,E,F,H,L。16 位寄存器可以通过连接两个:AF,BC,DE,HL。
我对操作码 0x7E 感到困惑,因为它看起来像是试图将 16 位值(HL)存储到 8 位寄存器(A)中。
LD 、 A 、 (HL)
有人可以解释为什么这样的指令会存在吗?
地址是 16 位,但它指向 1 个字节(8 位),它放入寄存器 A(以下示例中的寄存器 D)。
LD D, (HL)
该指令用位于寄存器对 HL 中的地址处的字节加载 D。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(78条)