File:
[RetroPC.NET] /
np2 /
generic /
unasmop.tbl
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Wed Feb 18 11:03:36 2004 JST (21 years, 8 months ago) by
yui
Branches:
MAIN
CVS tags:
VER_0_82_x64,
VER_0_82,
VER_0_81A,
VER_0_81,
VER_0_80,
VER_0_79,
VER_0_78,
VER_0_77,
VER_0_76,
VER_0_75,
HEAD
fix egc (T.Yui)
static const UINT32 optbl[0x100] = {
// 00
OP_BE(RSTR_ADD, OP_EA, OP_REG, 0),
OP_WE(RSTR_ADD, OP_EA, OP_REG, 0),
OP_BE(RSTR_ADD, OP_REG, OP_EA, 0),
OP_WE(RSTR_ADD, OP_REG, OP_EA, 0),
OP_B_(RSTR_ADD, OP_AX, OP_IMM, 0),
OP_W_(RSTR_ADD, OP_AX, OP_IMM, 0),
OP_W_(RSTR_PUSH, OP_SEG, 0, 0),
OP_W_(RSTR_POP, OP_SEG, 0, 0),
OP_BE(RSTR_OR, OP_EA, OP_REG, 0),
OP_WE(RSTR_OR, OP_EA, OP_REG, 0),
OP_BE(RSTR_OR, OP_REG, OP_EA, 0),
OP_WE(RSTR_OR, OP_REG, OP_EA, 0),
OP_B_(RSTR_OR, OP_AX, OP_IMM, 0),
OP_W_(RSTR_OR, OP_AX, OP_IMM, 0),
OP_W_(RSTR_PUSH, OP_SEG, 0, 0),
OP_PF(OPF_286, 0),
// 10
OP_BE(RSTR_ADC, OP_EA, OP_REG, 0),
OP_WE(RSTR_ADC, OP_EA, OP_REG, 0),
OP_BE(RSTR_ADC, OP_REG, OP_EA, 0),
OP_WE(RSTR_ADC, OP_REG, OP_EA, 0),
OP_B_(RSTR_ADC, OP_AX, OP_IMM, 0),
OP_W_(RSTR_ADC, OP_AX, OP_IMM, 0),
OP_W_(RSTR_PUSH, OP_SEG, 0, 0),
OP_W_(RSTR_POP, OP_SEG, 0, 0),
OP_BE(RSTR_SBB, OP_EA, OP_REG, 0),
OP_WE(RSTR_SBB, OP_EA, OP_REG, 0),
OP_BE(RSTR_SBB, OP_REG, OP_EA, 0),
OP_WE(RSTR_SBB, OP_REG, OP_EA, 0),
OP_B_(RSTR_SBB, OP_AX, OP_IMM, 0),
OP_W_(RSTR_SBB, OP_AX, OP_IMM, 0),
OP_W_(RSTR_PUSH, OP_SEG, 0, 0),
OP_W_(RSTR_POP, OP_SEG, 0, 0),
// 20
OP_BE(RSTR_AND, OP_EA, OP_REG, 0),
OP_WE(RSTR_AND, OP_EA, OP_REG, 0),
OP_BE(RSTR_AND, OP_REG, OP_EA, 0),
OP_WE(RSTR_AND, OP_REG, OP_EA, 0),
OP_B_(RSTR_AND, OP_AX, OP_IMM, 0),
OP_W_(RSTR_AND, OP_AX, OP_IMM, 0),
OP_PF(OPF_SOR, UAFLAG_ES),
OP_F1(RSTR_DAA, 0),
OP_BE(RSTR_SUB, OP_EA, OP_REG, 0),
OP_WE(RSTR_SUB, OP_EA, OP_REG, 0),
OP_BE(RSTR_SUB, OP_REG, OP_EA, 0),
OP_WE(RSTR_SUB, OP_REG, OP_EA, 0),
OP_B_(RSTR_SUB, OP_AX, OP_IMM, 0),
OP_W_(RSTR_SUB, OP_AX, OP_IMM, 0),
OP_PF(OPF_SOR, UAFLAG_CS),
OP_F1(RSTR_DAS, 0),
// 30
OP_BE(RSTR_XOR, OP_EA, OP_REG, 0),
OP_WE(RSTR_XOR, OP_EA, OP_REG, 0),
OP_BE(RSTR_XOR, OP_REG, OP_EA, 0),
OP_WE(RSTR_XOR, OP_REG, OP_EA, 0),
OP_B_(RSTR_XOR, OP_AX, OP_IMM, 0),
OP_W_(RSTR_XOR, OP_AX, OP_IMM, 0),
OP_PF(OPF_SOR, UAFLAG_SS),
OP_F1(RSTR_AAA, 0),
OP_BE(RSTR_CMP, OP_EA, OP_REG, 0),
OP_WE(RSTR_CMP, OP_EA, OP_REG, 0),
OP_BE(RSTR_CMP, OP_REG, OP_EA, 0),
OP_WE(RSTR_CMP, OP_REG, OP_EA, 0),
OP_B_(RSTR_CMP, OP_AX, OP_IMM, 0),
OP_W_(RSTR_CMP, OP_AX, OP_IMM, 0),
OP_PF(OPF_SOR, UAFLAG_DS),
OP_F1(RSTR_AAS, 0),
// 40
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_INC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
OP_W_(RSTR_DEC, OP_MR, 0, 0),
// 50
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_PUSH, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
OP_W_(RSTR_POP, OP_MR, 0, 0),
// 60
OP_F1(RSTR_PUSHA, OP1_32),
OP_F1(RSTR_POPA, OP1_32),
OP_WE(RSTR_BOUND, OP_REG, OP_EA, 0),
OP_WE(RSTR_ARPL, OP_EA, OP_REG, 0),
OP_PF(OPF_SOR, UAFLAG_FS),
OP_PF(OPF_SOR, UAFLAG_GS),
OP_PF(OPF_OPE, 0),
OP_PF(OPF_ADDR, 0),
OP_W_(RSTR_PUSH, OP_IMM, 0, 0),
OP_WE(RSTR_IMUL, OP_REG, OP_EA, OP_IMM),
OP_W_(RSTR_PUSH, OP_IS8, 0, 0),
OP_WE(RSTR_IMUL, OP_REG, OP_EA, OP_I8),
OP_Fb(RSTR_INS, OP1_STR),
OP_F1(RSTR_INS, OP1_STR),
OP_Fb(RSTR_OUTS, OP1_STR),
OP_F1(RSTR_OUTS, OP1_STR),
// 70
OP_F1(RSTR_JCC+0, OP1_SHORT),
OP_F1(RSTR_JCC+1, OP1_SHORT),
OP_F1(RSTR_JCC+2, OP1_SHORT),
OP_F1(RSTR_JCC+3, OP1_SHORT),
OP_F1(RSTR_JCC+4, OP1_SHORT),
OP_F1(RSTR_JCC+5, OP1_SHORT),
OP_F1(RSTR_JCC+6, OP1_SHORT),
OP_F1(RSTR_JCC+7, OP1_SHORT),
OP_F1(RSTR_JCC+8, OP1_SHORT),
OP_F1(RSTR_JCC+9, OP1_SHORT),
OP_F1(RSTR_JCC+10, OP1_SHORT),
OP_F1(RSTR_JCC+11, OP1_SHORT),
OP_F1(RSTR_JCC+12, OP1_SHORT),
OP_F1(RSTR_JCC+13, OP1_SHORT),
OP_F1(RSTR_JCC+14, OP1_SHORT),
OP_F1(RSTR_JCC+15, OP1_SHORT),
// 80
OP_T3(OP3_80),
OP_T3(OP3_81),
OP_T3(OP3_80),
OP_T3(OP3_83),
OP_BE(RSTR_TEST, OP_EA, OP_REG, 0),
OP_WE(RSTR_TEST, OP_EA, OP_REG, 0),
OP_BE(RSTR_XCHG, OP_EA, OP_REG, 0),
OP_WE(RSTR_XCHG, OP_EA, OP_REG, 0),
OP_BE(RSTR_MOV, OP_EA, OP_REG, 0),
OP_WE(RSTR_MOV, OP_EA, OP_REG, 0),
OP_BE(RSTR_MOV, OP_REG, OP_EA, 0),
OP_WE(RSTR_MOV, OP_REG, OP_EA, 0),
OP_WE(RSTR_MOV, OP_EA, OP_SEG, 0),
OP_WE(RSTR_LEA, OP_REG, OP_EA, 0),
OP_WE(RSTR_MOV, OP_SEG, OP_EA, 0),
OP_WE(RSTR_POP, OP_PEA, 0, 0),
// 90
OP_F1(RSTR_NOP, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_W_(RSTR_XCHG, OP_AX, OP_MR, 0),
OP_F1(RSTR_CBW, OP1_32),
OP_F1(RSTR_CWD, OP1_32),
OP_F1(RSTR_CALL, OP1_FAR),
OP_F1(RSTR_WAIT, 0),
OP_F1(RSTR_PUSHF, OP1_32),
OP_F1(RSTR_POPF, OP1_32),
OP_F1(RSTR_SAHF, 0),
OP_F1(RSTR_LAHF, 0),
// a0
OP_B_(RSTR_MOV, OP_AX, OP_MEM, 0),
OP_W_(RSTR_MOV, OP_AX, OP_MEM, 0),
OP_B_(RSTR_MOV, OP_MEM, OP_AX, 0),
OP_W_(RSTR_MOV, OP_MEM, OP_AX, 0),
OP_Fb(RSTR_MOVS, OP1_STR),
OP_F1(RSTR_MOVS, OP1_STR),
OP_Fb(RSTR_CMPS, OP1_STR),
OP_F1(RSTR_CMPS, OP1_STR),
OP_B_(RSTR_TEST, OP_AX, OP_IMM, 0),
OP_W_(RSTR_TEST, OP_AX, OP_IMM, 0),
OP_Fb(RSTR_STOS, OP1_STR),
OP_F1(RSTR_STOS, OP1_STR),
OP_Fb(RSTR_LODS, OP1_STR),
OP_F1(RSTR_LODS, OP1_STR),
OP_Fb(RSTR_SCAS, OP1_STR),
OP_F1(RSTR_SCAS, OP1_STR),
// b0
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_B_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
OP_W_(RSTR_MOV, OP_MR, OP_IMM, 0),
// c0
OP_T3(OP3_c0),
OP_T3(OP3_c1),
OP_W_(RSTR_RET, OP_I16, 0, 0),
OP_F1(RSTR_RET, 0),
OP_WE(RSTR_LES, OP_REG, OP_EA, 0),
OP_WE(RSTR_LDS, OP_REG, OP_EA, 0),
OP_BE(RSTR_MOV, OP_EA, OP_IMM, 0),
OP_WE(RSTR_MOV, OP_EA, OP_IMM, 0),
OP_W_(RSTR_ENTER, OP_I16, OP_I8, 0),
OP_F1(RSTR_LEAVE, 0),
OP_W_(RSTR_RETF, OP_I16, 0, 0),
OP_F1(RSTR_RETF, 0),
OP_F1(RSTR_INT, OP1_3),
OP_W_(RSTR_INT, OP_I8, 0, 0),
OP_F1(RSTR_INTO, 0),
OP_F1(RSTR_IRET, OP1_32),
// d0
OP_T3(OP3_d0),
OP_T3(OP3_d1),
OP_T3(OP3_d2),
OP_T3(OP3_d3),
OP_F1(RSTR_AAM, OP1_I10),
OP_F1(RSTR_AAD, OP1_I10),
OP_F1(RSTR_SALC, 0),
OP_F1(RSTR_XLAT, OP1_SOR),
OP_PF(OPF_FPU, 0),
OP_PF(OPF_FPU, 1),
OP_PF(OPF_FPU, 2),
OP_PF(OPF_FPU, 3),
OP_PF(OPF_FPU, 4),
OP_PF(OPF_FPU, 5),
OP_PF(OPF_FPU, 6),
OP_PF(OPF_FPU, 7),
// e0
OP_F1(RSTR_LOOPNZ, OP1_SHORT),
OP_F1(RSTR_LOOPZ, OP1_SHORT),
OP_F1(RSTR_LOOP, OP1_SHORT),
OP_F1(RSTR_JCXZ, OP1_JCXZ),
OP_B_(RSTR_IN, OP_AX, OP_I8, 0),
OP_W_(RSTR_IN, OP_AX, OP_I8, 0),
OP_B_(RSTR_OUT, OP_I8, OP_AX, 0),
OP_W_(RSTR_OUT, OP_I8, OP_AX, 0),
OP_F1(RSTR_CALL, OP1_NEAR),
OP_F1(RSTR_JMP, OP1_NEAR),
OP_F1(RSTR_JMP, OP1_FAR),
OP_F1(RSTR_JMP, OP1_SHORT),
OP_B_(RSTR_IN, OP_AX, OP_DX, 0),
OP_W_(RSTR_IN, OP_AX, OP_DX, 0),
OP_B_(RSTR_OUT, OP_DX, OP_AX, 0),
OP_W_(RSTR_OUT, OP_DX, OP_AX, 0),
// f0
OP_PF(OPF_REP, UAFLAG_RL),
OP_W_(RSTR_INT, OP_1, 0, 0),
OP_PF(OPF_REP, UAFLAG_RNE),
OP_PF(OPF_REP, UAFLAG_RE),
OP_F1(RSTR_HLT, 0),
OP_F1(RSTR_CMC, 0),
OP_T3(OP3_f6),
OP_T3(OP3_f7),
OP_F1(RSTR_CLC, 0),
OP_F1(RSTR_STC, 0),
OP_F1(RSTR_CLI, 0),
OP_F1(RSTR_STI, 0),
OP_F1(RSTR_CLD, 0),
OP_F1(RSTR_STD, 0),
OP_T3(OP3_fe),
OP_T3(OP3_ff),
};
RetroPC.NET-CVS <cvs@retropc.net>