首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GameBoy ISA (编写仿真器)

GameBoy ISA (编写仿真器)
EN

Stack Overflow用户
提问于 2014-01-05 02:56:30
回答 1查看 3K关注 0票数 2

我正在用C语言编写一个GameBoy模拟器,现在我正在处理CPU.c文件,我对下面列出的一些指令有些困惑:

http://realboyemulator.files.wordpress.com/2013/01/gbcpuman.pdf

如果您参考上述PDF的第66页,并查看与Opcode 0x7E-LD、R1、R2对应的指令,我对此感到好奇。

国标有8个8位寄存器,A,B,C,D,E,F,H,L。16位寄存器可以通过连接两个: AF,BC,DE,HL。

我对Opcode 0x7E感到困惑,因为它似乎试图将16位值(HL)存储到8位寄存器(A)中。

LD,A,(HL)

我是不是误解了这份文件?有人能解释为什么会有这样的指令存在吗?难道不能用LD,A,L来代替吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-05 03:20:59

地址为16位,但它指向1字节(8位),并将其放入寄存器A (下面示例中的寄存器D)。

代码语言:javascript
复制
LD D, (HL)

此指令以寄存器对HL中位于地址处的字节加载D。

http://gameboy.mongenel.com/dmg/lesson1.html找到了这个

以下是所有的教训,http://gameboy.mongenel.com/asmschool.html

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

https://stackoverflow.com/questions/20929494

复制
相关文章

相似问题

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