l1aa8h:\r
inc hl\r
ld c,(hl)\r
+ inc c\r
+ ret z\r
+ dec c\r
inc hl\r
ld e,(hl)\r
inc hl\r
\r
; 1 byte opcodes\r
; Format: db mask, match, t_MNEMONICS-index\r
-; dw argument formating fuction\r
+; dw argument formating function\r
b_1ad1_start:\r
db 0c0h,040h,o_LD ;ld r,r\r
dw p_arg_r_r\r
db 0ffh ;<end mark>\r
\r
b_1bf4_start:\r
- db 0e7h,040h,o_IN ;in r,(c) ;r=b,c,d,e\r
- dw p_arg_in_c ;\r
- db 0f7h,060h,o_IN ;in r,(c) ;r=h,l\r
+ db 0ffh,070h,0ffh ;in (c) ;\r
dw p_arg_in_c ;\r
- db 0ffh,078h,o_IN ;in r,(c) ;r=a\r
+ db 0c7h,040h,o_IN ;in r,(c) ;r=b,c,d,e,h,l,a\r
dw p_arg_in_c ;\r
- db 0e7h,041h,o_OUT ;out (c),r ;r=b,c,d,e\r
+ db 0ffh,071h,0ffh ;out (c),0 ;\r
dw p_arg_out_c ;\r
- db 0f7h,061h,o_OUT ;out (c),r ;r=h,l\r
- dw p_arg_out_c ;\r
- db 0ffh,079h,o_OUT ;out (c),r ;r=a\r
+ db 0c7h,041h,o_OUT ;out (c),r ;r=b,c,d,e,h,l,a\r
dw p_arg_out_c ;\r
db 0cfh,042h,o_SBC ;sbc hl,rr\r
dw l1dcah ;\r
db 0\r
\r
l228bh:\r
- db 0e7h,000h,o_IN ;in0 r,(m) ;r=b,c,d,e\r
- dw p_arg_r_m\r
- db 0f7h,020h,o_IN ;in0 r,(m) ;r=h,l\r
+ db 0ffh,030h,0ffh ;in0 (m)\r
dw p_arg_r_m\r
- db 0ffh,038h,o_IN ;in0 a,(m)\r
+ db 0c7h,000h,o_IN ;in0 r,(m) ;r=b,c,d,e,h,l,a\r
dw p_arg_r_m\r
- db 0e7h,001h,o_OUT0 ;out0 (m),r ;r=b,c,d,e\r
+ db 0ffh,031h,0ffh ;out0 (m),0\r
dw p_arg_m_r\r
- db 0f7h,021h,o_OUT0 ;out0 (m),r ;r=h,l\r
- dw p_arg_m_r\r
- db 0ffh,039h,o_OUT0 ;out0 (m),a\r
+ db 0ech,001h,o_OUT0 ;out0 (m),r ;r=b,c,d,e\r
dw p_arg_m_r\r
db 0ffh,064h,o_TST ;tst m\r
dw l1d09h\r
dw l1d09h\r
db 0\r
\r
+; Prefix ED + 1 byte opcode + 2 byte address\r
+; Format: db mask, match, t_MNEMONICS-index\r
+; dw argument formating function\r
b_1c40_start:\r
- db 0efh,043h,o_LD ;ld (mn),ww ;ww=bc,de\r
+ db 0cfh,043h,o_LD ;ld (mn),ww ;ww=bc,de,hl,sp\r
dw p_arg_addr_ww\r
- db 0ffh,073h,o_LD ;ld (mn),sp\r
- dw p_arg_addr_ww\r
- db 0efh,04bh,o_LD ;ld ww,(mn) ;ww=bc,de\r
- dw p_arg_ww_addr\r
- db 0ffh,07bh,o_LD ;ld sp,(mn)\r
+ db 0cfh,04bh,o_LD ;ld ww,(mn) ;ww=bc,de,hl,sp\r
dw p_arg_ww_addr\r
db 0\r
\r