Bercriber's Blog

プログラミング

2021/01/12 21:20


set Test "POP AF"

本当に悩んで考えて、どうしてもわからなかったから、出てくるわけないだろと思って、テストコードそのままぐぐったら出てきた。

gb-test-rom-emulation-issues

つまりFの下位4ビットは何か値が書き込まれても無視するということ。

     set_test 5,"POP AF"
     ld   bc,$1200
-    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,-

以下、自分の実装。どうやってもこれで正解だろうと思ってた。命令に間違えがあるのかと必死で見直してたのに、レジスタが突っぱねてるなんて、まったく考えもしなかった。どうせどっかに書いてあって見落としていたのだろうけど。無念。非常に悔しい。