当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《GameBoy将16位加载到8位内存中》经验,为你挑选了1个好方法。

我已经开始为Gameboy经典编写一个模拟器,这是我在成功的Chip 8模拟器之后的下一个项目.

作为参考,我使用GameBoy CPU手册.

现在在第66页它说:

LD  A,(HL)  7E  8

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

但是,据我所知,这会将16位值HL加载到8位寄存器A中.这当然不合适.

你知道这是怎么回事吗?所有其他参考文献只是简单的表格,没有解释,但说同样的事情.

谢谢你的回答!



1> theonly112..:

使用该指令,(HL)指向的值被加载到A而不是HL本身的值.例如,如果HL的值为0xABCD且地址0xABCD的存储器值为0x50,则将0x50加载到寄存器A.

伪实现

register.A = memory.ReadByte(register.HL);


@Saibot似乎没有提到大括号'(XX)'表示大括号内的值是一个内存地址.
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有