【发布时间】:2016-08-29 13:08:59
【问题描述】:
我想我很难正确定义以下模棱两可的操作码:LD HL,SP+r8 和 JP (HL) 操作码(分别为0xE9 和 0xF8)
在我的实现中,LD HL,SP+r8 将 HL 设置为 SP+r8 的值,但我感觉这可能与从 RAM 加载内存有关。
JP (HL),我有 PUSH 将 PC 放入堆栈并将程序计数器设置为 HL 的值(如 JP a16,除了 HL 的值),但我读过一些论坛,似乎说那是错的。
任何说明这些说明的作用都会很好,因为我现在很迷茫。
【问题讨论】:
-
@Dodge 我一直在寻找一个开源模拟器来查看源代码是什么,但我发现唯一一个实现了一些完全错误的操作码,所以我并不真正相信它。这个模拟器测试过吗?如果是这样,谢谢你,你很有帮助!
-
您可以查看我的github.com/creker/Cookieboy 它通过了 blargg 的所有测试 - CPU、计时、LCD、声音。即使是那些测试硬件错误的人
-
@creker 谢谢,正如我所说,很难找到一个真正有效的开源模拟器。现在只需要整理所有这些文件。 ^~^ 但这只需要几分钟,所以谢谢。