我一直在制作 GameBoy 模拟器,目前正在通过位于此处的测试 ROM 运行它。
其中一项测试cpu_instrs.zip
如下:
set_test 5,"POP AF"
ld bc,$1200
.loop:
push bc
pop af
push af
pop de
ld a,c
and $F0
cp e
jp nz,test_failed
inc b
inc c
jr nz,.loop
据我了解,这个测试似乎总是会失败。在第一个循环中,不会设置零标志inc c
,然后代码最终会跳转到,test_failed
因为在第二个循环中,e
它将等于 1 并且a
将为 0。
我在这里想念什么?