我已经开始为Gameboy经典编写一个模拟器,这是我在成功的Chip 8模拟器之后的下一个项目.
作为参考,我使用GameBoy CPU手册.
现在在第66页它说:
LD A,(HL) 7E 8
基本上,将值HL加载到寄存器A.
但是,据我所知,这会将16位值HL加载到8位寄存器A中.这当然不合适.
你知道这是怎么回事吗?所有其他参考文献只是简单的表格,没有解释,但说同样的事情.
谢谢你的回答!
使用该指令,(HL)指向的值被加载到A而不是HL本身的值.例如,如果HL的值为0xABCD且地址0xABCD的存储器值为0x50,则将0x50加载到寄存器A.
伪实现
register.A = memory.ReadByte(register.HL);