Files
open-roms/src/zvm_m65/z80_instr_block.s
T

72 lines
860 B
ArmAsm

;
; Z80 block processing and search instructions
;
Z80_instr_ED_A0: ; LDI
lda REG_F
and #($FF - Z80_HF - Z80_PF - Z80_NF)
sta REG_F
+Z80_FETCH_VIA_HL
+Z80_STORE_VIA_DE
inw REG_HL
inw REG_DE
dew REG_BC
+beq ZVM_next
+Z80_PUT_1_VF
jmp ZVM_next
Z80_instr_ED_B0: ; LDIR
lda REG_F
and #($FF - Z80_HF - Z80_PF - Z80_NF)
sta REG_F
@1:
+Z80_FETCH_VIA_HL
+Z80_STORE_VIA_DE
inw REG_HL
inw REG_DE
dew REG_BC
bne @1
jmp ZVM_next
Z80_instr_ED_A8: ; LDD
lda REG_F
and #($FF - Z80_HF - Z80_PF - Z80_NF)
sta REG_F
+Z80_FETCH_VIA_HL
+Z80_STORE_VIA_DE
dew REG_HL
dew REG_DE
dew REG_BC
+beq ZVM_next
+Z80_PUT_1_VF
jmp ZVM_next
Z80_instr_ED_B8: ; LDDR
lda REG_F
and #($FF - Z80_HF - Z80_PF - Z80_NF)
sta REG_F
@1:
+Z80_FETCH_VIA_HL
+Z80_STORE_VIA_DE
dew REG_HL
dew REG_DE
dew REG_BC
bne @1
jmp ZVM_next