- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 future 的 NES 模拟器实现我自己的 MOS 6502 cpu 模拟器。我正在使用 nestest 来测试模拟器的正确性。一切似乎都找到了,直到我到达这一行:
如您所见,状态寄存器是 (6F) 被压入堆栈。在下一条指令中,它从累加器的堆栈中拉出。在下一次提取中,日志显示 A: 7F。这有道理吗? A不应该是6F吗?
我正在使用这个日志:
http://www.qmtpro.com/~nes/misc/nestest.log
因为它来自 Nintendulator 它应该是可靠的,我猜。
是我弄错了还是这个日志不可靠?
最佳答案
原因更好解释 here和 here , PHP
始终设置 中断 将状态寄存器压入堆栈时的标志。但是,该标志的物理实现方式与我们将其可视化的方式之间存在代表性差异 - 它实际上根本不保存在状态寄存器中,而是显示为好像它是。
当 6502 执行 PHP
指令,它设置写入堆栈的状态寄存器值中的第 4 位,但这并未反射(reflect)为对状态寄存器本身的实际更改。因此,您的日志显示状态寄存器在 PHP
之后没有变化。 ,但是当你PLA
它具有的那个字节 位 4 集 .您可以通过在 PHP
之后使用显示器打破来亲眼看到这一点。指令,然后查看堆栈存储区 ($01xx) 中的字节。
关于emulation - 6502 模拟器测试 : nestest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52017657/
我目前正在为 NES(像许多其他人一样)制作一个模拟器,并且在针对 Kevtris 的 nestest rom 测试我的模拟器时(在此处找到:https://wiki.nesdev.com/w/ind
我正在为 future 的 NES 模拟器实现我自己的 MOS 6502 cpu 模拟器。我正在使用 nestest 来测试模拟器的正确性。一切似乎都找到了,直到我到达这一行: 如您所见,状态寄存器是
我是一名优秀的程序员,十分优秀!