我已经开始为Gameboy经典的模拟器编程,我的下一个项目是在成功的芯片8仿真器之后。
作为参考,我使用the GameBoy CPU Manual。
现在第66页上写着:
LD A,(HL) 7E 8基本上,将HL值加载到寄存器A中。
然而,正如我所理解的,这将加载16位值HL到8位寄存器A,这当然不适合。
你知道这是什么意思吗?所有其他引用都只是简单的表,没有解释,但是说的是相同的东西。
谢谢你的回答!
发布于 2016-01-04 13:37:37
使用此指令,( HL )所指向的值被加载到A中,而不是HL本身的值。例如,如果HL的值为0xABCD,而地址0xABCD上的内存值为0x50,则0x50被加载到寄存器A中。
伪实现
register.A = memory.ReadByte(register.HL);发布于 2016-01-04 13:39:22
我认为LD A,( hl )是更广泛地写成LD a,hl的同义词,基于第71页类似说明的文档。
因此,LD A,( HL )的意思是“将地址HL的值加到A中”。HL是一个16位的值,但是它引用的地址是8位,所以它符合A。
https://stackoverflow.com/questions/34592122
复制相似问题