首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GameBoy 16位加载到8位内存中

GameBoy 16位加载到8位内存中
EN

Stack Overflow用户
提问于 2016-01-04 13:19:33
回答 2查看 801关注 0票数 7

我已经开始为Gameboy经典的模拟器编程,我的下一个项目是在成功的芯片8仿真器之后。

作为参考,我使用the GameBoy CPU Manual

现在第66页上写着:

代码语言:javascript
复制
LD  A,(HL)  7E  8

基本上,将HL值加载到寄存器A中。

然而,正如我所理解的,这将加载16位值HL到8位寄存器A,这当然不适合。

你知道这是什么意思吗?所有其他引用都只是简单的表,没有解释,但是说的是相同的东西。

谢谢你的回答!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-04 13:37:37

使用此指令,( HL )所指向的值被加载到A中,而不是HL本身的值。例如,如果HL的值为0xABCD,而地址0xABCD上的内存值为0x50,则0x50被加载到寄存器A中。

伪实现

代码语言:javascript
复制
register.A = memory.ReadByte(register.HL);
票数 10
EN

Stack Overflow用户

发布于 2016-01-04 13:39:22

我认为LD A,( hl )是更广泛地写成LD a,hl的同义词,基于第71页类似说明的文档。

  1. LDD A,( HL )描述:将地址HL处的值输入A.同: LD A,( HL ) - DEC HL

因此,LD A,( HL )的意思是“将地址HL的值加到A中”。HL是一个16位的值,但是它引用的地址是8位,所以它符合A。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34592122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档