text: /* -----------------------------------------------------------------------
   *
   * Z80C : Z80 Engine - GENERIC
   *
   *                              Copyright by Studio Milmake 1999-2000,2004
   *
   *------------------------------------------------------------------------ */
  
  #include	"compiler.h"
  #include	"z80core.h"
  #include	"iocore.h"
  #include	"z80c.h"
  #include	"z80c.mcr"
  
  
  Z80FN _ld_nop(void)			{ }
  Z80FN _ld_bc_word(void)		LDW_w(R_Z80BC)
  Z80FN _ld_xbc_a(void)		LDx_B(R_Z80BC, R_Z80A)
  Z80FN _inc_bc(void)			MCR_INC_W(R_Z80BC)
  Z80FN _inc_b(void)			MCR_INC(R_Z80B)
  Z80FN _dec_b(void)			MCR_DEC(R_Z80B)
  Z80FN _ld_b_byte(void)		LDB_b(R_Z80B)
  Z80FN _rlca(void)			MCR_RLCA
  Z80FN _ex_af_af(void)		MCR_EX(R_Z80AF, R_Z80AF2)
  Z80FN _add_hl_bc(void)		MCR_ADD_W(R_Z80HL, R_Z80BC)
  Z80FN _ld_a_xbc(void)		LDB_x(R_Z80A, R_Z80BC)
  Z80FN _dec_bc(void)			MCR_DEC_W(R_Z80BC)
  Z80FN _inc_c(void)			MCR_INC(R_Z80C)
  Z80FN _dec_c(void)			MCR_DEC(R_Z80C)
  Z80FN _ld_c_byte(void)		LDB_b(R_Z80C)
  Z80FN _rrca(void)			MCR_RRCA
  
  Z80FN _djnz(void)			MCR_DJNZ
  Z80FN _ld_de_word(void)		LDW_w(R_Z80DE)
  Z80FN _ld_xde_a(void)		LDx_B(R_Z80DE, R_Z80A)
  Z80FN _inc_de(void)			MCR_INC_W(R_Z80DE)
  Z80FN _inc_d(void)			MCR_INC(R_Z80D)
  Z80FN _dec_d(void)			MCR_DEC(R_Z80D)
  Z80FN _ld_d_byte(void)		LDB_b(R_Z80D)
  Z80FN _rla(void)			MCR_RLA
  Z80FN _jr(void)				MCR_JR
  Z80FN _add_hl_de(void)		MCR_ADD_W(R_Z80HL, R_Z80DE)
  Z80FN _ld_a_xde(void)		LDB_x(R_Z80A, R_Z80DE)
  Z80FN _dec_de(void)			MCR_DEC_W(R_Z80DE)
  Z80FN _inc_e(void)			MCR_INC(R_Z80E)
  Z80FN _dec_e(void)			MCR_DEC(R_Z80E)
  Z80FN _ld_e_byte(void)		LDB_b(R_Z80E)
  Z80FN _rra(void)			MCR_RRA
  
  Z80FN _jr_nz(void)			MCR_JRNFLG(Z_FLAG)
  Z80FN _ld_hl_word(void)		LDW_w(R_Z80HL)
  Z80FN _ld_xword_hl(void)	LDx_W(R_Z80HL)
  Z80FN _inc_hl(void)			MCR_INC_W(R_Z80HL)
  Z80FN _inc_h(void)			MCR_INC(R_Z80H)
  Z80FN _dec_h(void)			MCR_DEC(R_Z80H)
  Z80FN _ld_h_byte(void)		LDB_b(R_Z80H)
  Z80FN _daa(void)			MCR_DDA
  Z80FN _jr_z(void)			MCR_JRFLG(Z_FLAG)
  Z80FN _add_hl_hl(void)		MCR_ADDx2(R_Z80HL)
  Z80FN _ld_hl_xword(void)	LDW_x(R_Z80HL)
  Z80FN _dec_hl(void)			MCR_DEC_W(R_Z80HL)
  Z80FN _inc_l(void)			MCR_INC(R_Z80L)
  Z80FN _dec_l(void)			MCR_DEC(R_Z80L)
  Z80FN _ld_l_byte(void)		LDB_b(R_Z80L)
  Z80FN _cpl(void)			MCR_CPL
  
  Z80FN _jr_nc(void)			MCR_JRNFLG(C_FLAG)
  Z80FN _ld_sp_word(void)		LDW_w(R_Z80SP)
  Z80FN _ld_xbyte_a(void)		LDB_x_a
  Z80FN _inc_sp(void)			MCR_INC_W(R_Z80SP)
  Z80FN _inc_xhl(void)		MCR_INC_MEM(R_Z80HL)
  Z80FN _dec_xhl(void)		MCR_DEC_MEM(R_Z80HL)
  Z80FN _ld_xhl_byte(void)	LDB_xhl_b
  Z80FN _scf(void)			MCR_SCF
  Z80FN _jr_c(void)			MCR_JRFLG(C_FLAG)
  Z80FN _add_hl_sp(void)		MCR_ADD_W(R_Z80HL, R_Z80SP)
  Z80FN _ld_a_xbyte(void)		LDB_a_x
  Z80FN _dec_sp(void)			MCR_DEC_W(R_Z80SP)
  Z80FN _inc_a(void)			MCR_INC(R_Z80A)
  Z80FN _dec_a(void)			MCR_DEC(R_Z80A)
  Z80FN _ld_a_byte(void)		LDB_b(R_Z80A)
  Z80FN _ccf(void)			MCR_CCF
  
  Z80FN _ld_b_c(void)			MCR_LD(R_Z80B, R_Z80C)
  Z80FN _ld_b_d(void)			MCR_LD(R_Z80B, R_Z80D)
  Z80FN _ld_b_e(void)			MCR_LD(R_Z80B, R_Z80E)
  Z80FN _ld_b_h(void)			MCR_LD(R_Z80B, R_Z80H)
  Z80FN _ld_b_l(void)			MCR_LD(R_Z80B, R_Z80L)
  Z80FN _ld_b_xhl(void)		LDB_x(R_Z80B, R_Z80HL)
  Z80FN _ld_b_a(void)			MCR_LD(R_Z80B, R_Z80A)
  Z80FN _ld_c_b(void)			MCR_LD(R_Z80C, R_Z80B)
  Z80FN _ld_c_d(void)			MCR_LD(R_Z80C, R_Z80D)
  Z80FN _ld_c_e(void)			MCR_LD(R_Z80C, R_Z80E)
  Z80FN _ld_c_h(void)			MCR_LD(R_Z80C, R_Z80H)
  Z80FN _ld_c_l(void)			MCR_LD(R_Z80C, R_Z80L)
  Z80FN _ld_c_xhl(void)		LDB_x(R_Z80C, R_Z80HL)
  Z80FN _ld_c_a(void)			MCR_LD(R_Z80C, R_Z80A)
  
  Z80FN _ld_d_b(void)			MCR_LD(R_Z80D, R_Z80B)
  Z80FN _ld_d_c(void)			MCR_LD(R_Z80D, R_Z80C)
  Z80FN _ld_d_e(void)			MCR_LD(R_Z80D, R_Z80E)
  Z80FN _ld_d_h(void)			MCR_LD(R_Z80D, R_Z80H)
  Z80FN _ld_d_l(void)			MCR_LD(R_Z80D, R_Z80L)
  Z80FN _ld_d_xhl(void)		LDB_x(R_Z80D, R_Z80HL)
  Z80FN _ld_d_a(void)			MCR_LD(R_Z80D, R_Z80A)
  Z80FN _ld_e_b(void)			MCR_LD(R_Z80E, R_Z80B)
  Z80FN _ld_e_c(void)			MCR_LD(R_Z80E, R_Z80C)
  Z80FN _ld_e_d(void)			MCR_LD(R_Z80E, R_Z80D)
  Z80FN _ld_e_h(void)			MCR_LD(R_Z80E, R_Z80H)
  Z80FN _ld_e_l(void)			MCR_LD(R_Z80E, R_Z80L)
  Z80FN _ld_e_xhl(void)		LDB_x(R_Z80E, R_Z80HL)
  Z80FN _ld_e_a(void)			MCR_LD(R_Z80E, R_Z80A)
  
  Z80FN _ld_h_b(void)			MCR_LD(R_Z80H, R_Z80B)
  Z80FN _ld_h_c(void)			MCR_LD(R_Z80H, R_Z80C)
  Z80FN _ld_h_d(void)			MCR_LD(R_Z80H, R_Z80D)
  Z80FN _ld_h_e(void)			MCR_LD(R_Z80H, R_Z80E)
  Z80FN _ld_h_l(void)			MCR_LD(R_Z80H, R_Z80L)
  Z80FN _ld_h_xhl(void)		LDB_x(R_Z80H, R_Z80HL)
  Z80FN _ld_h_a(void)			MCR_LD(R_Z80H, R_Z80A)
  Z80FN _ld_l_b(void)			MCR_LD(R_Z80L, R_Z80B)
  Z80FN _ld_l_c(void)			MCR_LD(R_Z80L, R_Z80C)
  Z80FN _ld_l_d(void)			MCR_LD(R_Z80L, R_Z80D)
  Z80FN _ld_l_e(void)			MCR_LD(R_Z80L, R_Z80E)
  Z80FN _ld_l_h(void)			MCR_LD(R_Z80L, R_Z80H)
  Z80FN _ld_l_xhl(void)		LDB_x(R_Z80L, R_Z80HL)
  Z80FN _ld_l_a(void)			MCR_LD(R_Z80L, R_Z80A)
  
  Z80FN _ld_xhl_b(void)		LDx_B(R_Z80HL, R_Z80B)
  Z80FN _ld_xhl_c(void)		LDx_B(R_Z80HL, R_Z80C)
  Z80FN _ld_xhl_d(void)		LDx_B(R_Z80HL, R_Z80D)
  Z80FN _ld_xhl_e(void)		LDx_B(R_Z80HL, R_Z80E)
  Z80FN _ld_xhl_h(void)		LDx_B(R_Z80HL, R_Z80H)
  Z80FN _ld_xhl_l(void)		LDx_B(R_Z80HL, R_Z80L)
  Z80FN _halt(void)			MCR_HALT
  Z80FN _ld_xhl_a(void)		LDx_B(R_Z80HL, R_Z80A)
  Z80FN _ld_a_b(void)			MCR_LD(R_Z80A, R_Z80B)
  Z80FN _ld_a_c(void)			MCR_LD(R_Z80A, R_Z80C)
  Z80FN _ld_a_d(void)			MCR_LD(R_Z80A, R_Z80D)
  Z80FN _ld_a_e(void)			MCR_LD(R_Z80A, R_Z80E)
  Z80FN _ld_a_h(void)			MCR_LD(R_Z80A, R_Z80H)
  Z80FN _ld_a_l(void)			MCR_LD(R_Z80A, R_Z80L)
  Z80FN _ld_a_xhl(void)		LDB_x(R_Z80A, R_Z80HL)
  
  Z80FN _add_a_b(void)		MCR_ADD(R_Z80B)
  Z80FN _add_a_c(void)		MCR_ADD(R_Z80C)
  Z80FN _add_a_d(void)		MCR_ADD(R_Z80D)
  Z80FN _add_a_e(void)		MCR_ADD(R_Z80E)
  Z80FN _add_a_h(void)		MCR_ADD(R_Z80H)
  Z80FN _add_a_l(void)		MCR_ADD(R_Z80L)
  Z80FN _add_a_xhl(void)		MCR_ADD_XHL
  Z80FN _add_a_a(void)		MCR_ADD(R_Z80A)				/* !! */
  Z80FN _adc_a_b(void)		MCR_ADC(R_Z80B)
  Z80FN _adc_a_c(void)		MCR_ADC(R_Z80C)
  Z80FN _adc_a_d(void)		MCR_ADC(R_Z80D)
  Z80FN _adc_a_e(void)		MCR_ADC(R_Z80E)
  Z80FN _adc_a_h(void)		MCR_ADC(R_Z80H)
  Z80FN _adc_a_l(void)		MCR_ADC(R_Z80L)
  Z80FN _adc_a_xhl(void)		MCR_ADC_XHL
  Z80FN _adc_a_a(void)		MCR_ADC(R_Z80A)				/* !! */
  
  Z80FN _sub_b(void)			MCR_SUB(R_Z80B)
  Z80FN _sub_c(void)			MCR_SUB(R_Z80C)
  Z80FN _sub_d(void)			MCR_SUB(R_Z80D)
  Z80FN _sub_e(void)			MCR_SUB(R_Z80E)
  Z80FN _sub_h(void)			MCR_SUB(R_Z80H)
  Z80FN _sub_l(void)			MCR_SUB(R_Z80L)
  Z80FN _sub_xhl(void)		MCR_SUB_XHL
  Z80FN _sub_a(void)			MCR_SUB(R_Z80A)				/* !! */
  Z80FN _sbc_a_b(void)		MCR_SBC(R_Z80B)
  Z80FN _sbc_a_c(void)		MCR_SBC(R_Z80C)
  Z80FN _sbc_a_d(void)		MCR_SBC(R_Z80D)
  Z80FN _sbc_a_e(void)		MCR_SBC(R_Z80E)
  Z80FN _sbc_a_h(void)		MCR_SBC(R_Z80H)
  Z80FN _sbc_a_l(void)		MCR_SBC(R_Z80L)
  Z80FN _sbc_a_xhl(void)		MCR_SBC_XHL
  Z80FN _sbc_a_a(void)		MCR_SBC(R_Z80A)				/* !! */
  
  Z80FN _and_b(void)			MCR_AND(R_Z80B)
  Z80FN _and_c(void)			MCR_AND(R_Z80C)
  Z80FN _and_d(void)			MCR_AND(R_Z80D)
  Z80FN _and_e(void)			MCR_AND(R_Z80E)
  Z80FN _and_h(void)			MCR_AND(R_Z80H)
  Z80FN _and_l(void)			MCR_AND(R_Z80L)
  Z80FN _and_xhl(void)		MCR_AND_XHL
  Z80FN _and_a(void)			MCR_AND(R_Z80A)				/* !! */
  Z80FN _xor_b(void)			MCR_XOR(R_Z80B)
  Z80FN _xor_c(void)			MCR_XOR(R_Z80C)
  Z80FN _xor_d(void)			MCR_XOR(R_Z80D)
  Z80FN _xor_e(void)			MCR_XOR(R_Z80E)
  Z80FN _xor_h(void)			MCR_XOR(R_Z80H)
  Z80FN _xor_l(void)			MCR_XOR(R_Z80L)
  Z80FN _xor_xhl(void)		MCR_XOR_XHL
  Z80FN _xor_a(void)			MCR_XOR(R_Z80A)				/* !! */
  
  Z80FN _or_b(void)			MCR_OR(R_Z80B)
  Z80FN _or_c(void)			MCR_OR(R_Z80C)
  Z80FN _or_d(void)			MCR_OR(R_Z80D)
  Z80FN _or_e(void)			MCR_OR(R_Z80E)
  Z80FN _or_h(void)			MCR_OR(R_Z80H)
  Z80FN _or_l(void)			MCR_OR(R_Z80L)
  Z80FN _or_xhl(void)			MCR_OR_XHL
  Z80FN _or_a(void)			MCR_OR(R_Z80A)				/* !! */
  Z80FN _cp_b(void)			MCR_CP(R_Z80B)
  Z80FN _cp_c(void)			MCR_CP(R_Z80C)
  Z80FN _cp_d(void)			MCR_CP(R_Z80D)
  Z80FN _cp_e(void)			MCR_CP(R_Z80E)
  Z80FN _cp_h(void)			MCR_CP(R_Z80H)
  Z80FN _cp_l(void)			MCR_CP(R_Z80L)
  Z80FN _cp_xhl(void)			MCR_CP_XHL
  Z80FN _cp_a(void)			MCR_CP(R_Z80A)				/* !! */
  
  Z80FN _ret_nz(void)			MCR_RETNFLG(Z_FLAG)
  Z80FN _pop_bc(void)			MCR_POP(R_Z80BC)
  Z80FN _jp_nz(void)			MCR_JPNFLG(Z_FLAG)
  Z80FN _jp(void)				MCR_JP
  Z80FN _call_nz(void)		MCR_CALLNFLG(Z_FLAG)
  Z80FN _push_bc(void)		MCR_PUSH(R_Z80BC)
  Z80FN _add_a_byte(void)		MCR_ADD_BYTE
  Z80FN _rst_00(void)			MCR_RST(0x00)
  Z80FN _ret_z(void)			MCR_RETFLG(Z_FLAG)
  Z80FN _ret(void)			MCR_RET
  Z80FN _jp_z(void)			MCR_JPFLG(Z_FLAG)
  Z80FN _call_z(void)			MCR_CALLFLG(Z_FLAG)
  Z80FN _call(void)			MCR_CALL
  Z80FN _adc_a_byte(void)		MCR_ADC_BYTE
  Z80FN _rst_08(void)			MCR_RST(0x08)
  
  Z80FN _ret_nc(void)			MCR_RETNFLG(C_FLAG)
  Z80FN _pop_de(void)			MCR_POP(R_Z80DE)
  Z80FN _jp_nc(void)			MCR_JPNFLG(C_FLAG)
  Z80FN _out_byte_a(void)		MCR_OUT_BYTE
  Z80FN _call_nc(void)		MCR_CALLNFLG(C_FLAG)
  Z80FN _push_de(void)		MCR_PUSH(R_Z80DE)
  Z80FN _sub_byte(void)		MCR_SUB_BYTE
  Z80FN _rst_10(void)			MCR_RST(0x10)
  Z80FN _ret_c(void)			MCR_RETFLG(C_FLAG)
  Z80FN _exx(void)			MCR_EXX
  Z80FN _jp_c(void)			MCR_JPFLG(C_FLAG)
  Z80FN _in_a_byte(void)		MCR_IN_BYTE
  Z80FN _call_c(void)			MCR_CALLFLG(C_FLAG)
  Z80FN _sbc_a_byte(void)		MCR_SBC_BYTE
  Z80FN _rst_18(void)			MCR_RST(0x18)
  
  Z80FN _ret_po(void)			MCR_RETNFLG(V_FLAG)
  Z80FN _pop_hl(void)			MCR_POP(R_Z80HL)
  Z80FN _jp_po(void)			MCR_JPNFLG(V_FLAG)
  Z80FN _ex_xsp_hl(void)		MCR_EX_XSP(R_Z80HL)
  Z80FN _call_po(void)		MCR_CALLNFLG(V_FLAG)
  Z80FN _push_hl(void)		MCR_PUSH(R_Z80HL)
  Z80FN _and_byte(void)		MCR_AND_BYTE
  Z80FN _rst_20(void)			MCR_RST(0x20)
  Z80FN _ret_pe(void)			MCR_RETFLG(V_FLAG)
  Z80FN _jp_hl(void)			MCR_LD_W(R_Z80PC, R_Z80HL)
  Z80FN _jp_pe(void)			MCR_JPFLG(V_FLAG)
  Z80FN _ex_de_hl(void)		MCR_EX(R_Z80DE, R_Z80HL)
  Z80FN _call_pe(void)		MCR_CALLFLG(V_FLAG)
  Z80FN _xor_byte(void)		MCR_XOR_BYTE
  Z80FN _rst_28(void)			MCR_RST(0x28)
  
  Z80FN _ret_p(void)			MCR_RETNFLG(S_FLAG)
  Z80FN _pop_af(void)			MCR_POP(R_Z80AF)
  Z80FN _jp_p(void)			MCR_JPNFLG(S_FLAG)
  Z80FN _di(void)				MCR_DI
  Z80FN _call_p(void)			MCR_CALLNFLG(S_FLAG)
  Z80FN _push_af(void)		MCR_PUSH(R_Z80AF)
  Z80FN _or_byte(void)		MCR_OR_BYTE
  Z80FN _rst_30(void)			MCR_RST(0x30)
  Z80FN _ret_m(void)			MCR_RETFLG(S_FLAG)
  Z80FN _ld_sp_hl(void)		MCR_LD_W(R_Z80SP, R_Z80HL)
  Z80FN _jp_m(void)			MCR_JPFLG(S_FLAG)
  Z80FN _ei(void)				MCR_EI
  Z80FN _call_m(void)			MCR_CALLFLG(S_FLAG)
  Z80FN _cp_byte(void)		MCR_CP_BYTE
  Z80FN _rst_38(void)			MCR_RST(0x38)
  
  
  const Z80OP z80c_mainop[256] = {
  	_ld_nop,		_ld_bc_word,	_ld_xbc_a,		_inc_bc,		/* 00 */
  	_inc_b,			_dec_b,			_ld_b_byte,		_rlca,
  	_ex_af_af,		_add_hl_bc,		_ld_a_xbc,		_dec_bc,
  	_inc_c,			_dec_c,			_ld_c_byte,		_rrca,
  
  	_djnz,			_ld_de_word,	_ld_xde_a,		_inc_de,		/* 10 */
  	_inc_d,			_dec_d,			_ld_d_byte,		_rla,
  	_jr,			_add_hl_de,		_ld_a_xde,		_dec_de,
  	_inc_e,			_dec_e,			_ld_e_byte,		_rra,
  
  	_jr_nz,			_ld_hl_word,	_ld_xword_hl,	_inc_hl,		/* 20 */
  	_inc_h,			_dec_h,			_ld_h_byte,		_daa,
  	_jr_z,			_add_hl_hl,		_ld_hl_xword,	_dec_hl,
  	_inc_l,			_dec_l,			_ld_l_byte,		_cpl,
  
  	_jr_nc,			_ld_sp_word,	_ld_xbyte_a,	_inc_sp,		/* 30 */
  	_inc_xhl,		_dec_xhl,		_ld_xhl_byte,	_scf,
  	_jr_c,			_add_hl_sp,		_ld_a_xbyte,	_dec_sp,
  	_inc_a,			_dec_a,			_ld_a_byte,		_ccf,
  
  	_ld_nop,		_ld_b_c,		_ld_b_d,		_ld_b_e,		/* 40 */
  	_ld_b_h,		_ld_b_l,		_ld_b_xhl,		_ld_b_a,
  	_ld_c_b,		_ld_nop,		_ld_c_d,		_ld_c_e,
  	_ld_c_h,		_ld_c_l,		_ld_c_xhl,		_ld_c_a,
  
  	_ld_d_b,		_ld_d_c,		_ld_nop,		_ld_d_e,		/* 50 */
  	_ld_d_h,		_ld_d_l,		_ld_d_xhl,		_ld_d_a,
  	_ld_e_b,		_ld_e_c,		_ld_e_d,		_ld_nop,
  	_ld_e_h,		_ld_e_l,		_ld_e_xhl,		_ld_e_a,
  
  	_ld_h_b,		_ld_h_c,		_ld_h_d,		_ld_h_e,		/* 60 */
  	_ld_nop,		_ld_h_l,		_ld_h_xhl,		_ld_h_a,
  	_ld_l_b,		_ld_l_c,		_ld_l_d,		_ld_l_e,
  	_ld_l_h,		_ld_nop,		_ld_l_xhl,		_ld_l_a,
  
  	_ld_xhl_b,		_ld_xhl_c,		_ld_xhl_d,		_ld_xhl_e,		/* 70 */
  	_ld_xhl_h,		_ld_xhl_l,		_halt,			_ld_xhl_a,
  	_ld_a_b,		_ld_a_c,		_ld_a_d,		_ld_a_e,
  	_ld_a_h,		_ld_a_l,		_ld_a_xhl,		_ld_nop,
  
  	_add_a_b,		_add_a_c,		_add_a_d,		_add_a_e,		/* 80 */
  	_add_a_h,		_add_a_l,		_add_a_xhl,		_add_a_a,
  	_adc_a_b,		_adc_a_c,		_adc_a_d,		_adc_a_e,
  	_adc_a_h,		_adc_a_l,		_adc_a_xhl,		_adc_a_a,
  
  	_sub_b,			_sub_c,			_sub_d,			_sub_e,			/* 90 */
  	_sub_h,			_sub_l,			_sub_xhl,		_sub_a,
  	_sbc_a_b,		_sbc_a_c,		_sbc_a_d,		_sbc_a_e,
  	_sbc_a_h,		_sbc_a_l,		_sbc_a_xhl,		_sbc_a_a,
  
  	_and_b,			_and_c,			_and_d,			_and_e,			/* a0 */
  	_and_h,			_and_l,			_and_xhl,		_and_a,
  	_xor_b,			_xor_c,			_xor_d,			_xor_e,
  	_xor_h,			_xor_l,			_xor_xhl,		_xor_a,
  
  	_or_b,			_or_c,			_or_d,			_or_e,			/* b0 */
  	_or_h,			_or_l,			_or_xhl,		_or_a,
  	_cp_b,			_cp_c,			_cp_d,			_cp_e,
  	_cp_h,			_cp_l,			_cp_xhl,		_cp_a,
  
  	_ret_nz,		_pop_bc,		_jp_nz,			_jp,			/* c0 */
  	_call_nz,		_push_bc,		_add_a_byte,	_rst_00,
  	_ret_z,			_ret,			_jp_z,			z80c_cb,
  	_call_z,		_call,			_adc_a_byte,	_rst_08,
  
  	_ret_nc,		_pop_de,		_jp_nc,			_out_byte_a,	/* d0 */
  	_call_nc,		_push_de,		_sub_byte,		_rst_10,
  	_ret_c,			_exx,			_jp_c,			_in_a_byte,
  	_call_c,		z80c_ix,		_sbc_a_byte,	_rst_18,
  
  	_ret_po,		_pop_hl,		_jp_po,			_ex_xsp_hl,		/* e0 */
  	_call_po,		_push_hl,		_and_byte,		_rst_20,
  	_ret_pe,		_jp_hl,			_jp_pe,			_ex_de_hl,
  	_call_pe,		z80c_sub,		_xor_byte,		_rst_28,
  
  	_ret_p,			_pop_af,		_jp_p,			_di,			/* f0 */
  	_call_p,		_push_af,		_or_byte,		_rst_30,
  	_ret_m,			_ld_sp_hl,		_jp_m,			_ei,
  	_call_m,		z80c_iy,		_cp_byte,		_rst_38
  };
  
  