apple1emu.asm (3)

うーん。ゲンジツトウヒで以下の一連のソレを睨んでたんですが

               call load_state
               call execute         ; GO!
               call save_state
               jr   reset_loop

よく分からん。とりあえず load_state の末端あたりが以下なんですが、

               ld   de,(reg_pc)     ; set PC
               ld   ix,main_loop    ; decode loop
               ret

6502 エミュな pc が de レジスタに設定されて、main_loop なアドレスが ix に設定されて戻っているのは分かります。ただ、次の execute な手続きで

execute:       ld   a,&1a           ; LD A,(DE)
               ld   (ix),a
               jp   (ix)

な事してるんですが、ここがよく分からん。main_loop では de から取り出して云々してるみたいなので単純に main_loop に jp するんなら、って思うんですが、どーゆー意味なんだorz
もう少しきちんとドキュメント嫁、という事なんだろうな。

今日は

会食らしいので、諸々のソレが夜遅くになる模様。誰となく。