|
|
@@ -7,7 +7,7 @@ |
|
|
|
`make` should trigger a rebuild when it is modified; if not, use: |
|
|
|
`python scripts/update_asm_instructions.py`. |
|
|
|
|
|
|
|
@AUTOGEN_DATE Wed May 20 07:34:18 2015 UTC |
|
|
|
@AUTOGEN_DATE Thu May 21 20:33:21 2015 UTC |
|
|
|
*/ |
|
|
|
|
|
|
|
/* @AUTOGEN_INST_BLOCK_START */ |
|
|
@@ -201,157 +201,31 @@ INST_FUNC(bit) |
|
|
|
AT_NONE |
|
|
|
) |
|
|
|
if (INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_REGISTER) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x47) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x40) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x41) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x42) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x43) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x44) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x45) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x4F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x48) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x49) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x4A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x4B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x4C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x4D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x57) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x50) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x51) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x52) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x53) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x54) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x55) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x5F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x58) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x59) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x5A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x5B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x5C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x5D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x67) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x60) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x61) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x62) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x63) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x64) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x65) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x6F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x68) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x69) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x6A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x6B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x6C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x6D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x77) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x70) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x71) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x72) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x73) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x74) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x75) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x7F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x78) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x79) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x7A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x7B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x7C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x7D) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x47 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x40 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x41 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x42 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x43 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x44 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x45 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDIRECT && |
|
|
|
(INST_INDIRECT(1).type == AT_REGISTER && INST_INDIRECT(1).addr.reg == REG_HL)) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(2, 0xCB, 0x46) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(2, 0xCB, 0x4E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(2, 0xCB, 0x56) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(2, 0xCB, 0x5E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(2, 0xCB, 0x66) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(2, 0xCB, 0x6E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(2, 0xCB, 0x76) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(2, 0xCB, 0x7E) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(2, 0xCB, 0x46 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDEXED) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x46) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x4E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x56) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x5E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x66) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x6E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x76) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x7E) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x46 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
INST_ERROR(ARG_TYPE) |
|
|
@@ -1381,272 +1255,48 @@ INST_FUNC(res) |
|
|
|
AT_OPTIONAL|AT_REGISTER |
|
|
|
) |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_REGISTER) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x87) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x80) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x81) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x82) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x83) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x84) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x85) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x8F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x88) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x89) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x8A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x8B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x8C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x8D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x97) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x90) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x91) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x92) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x93) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x94) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x95) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x9F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x98) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x99) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x9A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x9B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x9C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x9D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xA7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xA0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xA1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xA2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xA3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xA4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xA5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xAF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xA8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xA9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xAA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xAB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xAC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xAD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xB7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xB0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xB1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xB2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xB3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xB4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xB5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xBF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xB8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xB9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xBA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xBB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xBC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xBD) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0x87 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0x80 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0x81 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0x82 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0x83 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0x84 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0x85 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDIRECT && |
|
|
|
(INST_INDIRECT(1).type == AT_REGISTER && INST_INDIRECT(1).addr.reg == REG_HL)) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(2, 0xCB, 0x86) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(2, 0xCB, 0x8E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(2, 0xCB, 0x96) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(2, 0xCB, 0x9E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(2, 0xCB, 0xA6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(2, 0xCB, 0xAE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(2, 0xCB, 0xB6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(2, 0xCB, 0xBE) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(2, 0xCB, 0x86 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDEXED) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x86) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x96) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9E) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBE) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x86 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 3 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDEXED && INST_TYPE(2) == AT_REGISTER) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x87) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x80) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x81) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x82) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x83) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x84) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x85) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x88) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x89) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x8D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x97) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x90) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x91) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x92) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x93) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x94) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x95) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9F) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x98) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x99) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9A) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9B) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9C) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x9D) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xA9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xAD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xB9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xBD) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x87 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x80 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x81 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x82 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x83 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x84 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0x85 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
INST_ERROR(ARG_TYPE) |
|
|
@@ -2038,272 +1688,48 @@ INST_FUNC(set) |
|
|
|
AT_OPTIONAL|AT_REGISTER |
|
|
|
) |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_REGISTER) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xC7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xC0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xC1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xC2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xC3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xC4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xC5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xCF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xC8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xC9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xCA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xCB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xCC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xCD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xD7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xD0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xD1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xD2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xD3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xD4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xD5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xDF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xD8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xD9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xDA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xDB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xDC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xDD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xE7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xE0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xE1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xE2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xE3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xE4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xE5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xEF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xE8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xE9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xEA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xEB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xEC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xED) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xF7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xF0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xF1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xF2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xF3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xF4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xF5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xFF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xF8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xF9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xFA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xFB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xFC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xFD) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_A) |
|
|
|
INST_RETURN(2, 0xCB, 0xC7 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_B) |
|
|
|
INST_RETURN(2, 0xCB, 0xC0 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_C) |
|
|
|
INST_RETURN(2, 0xCB, 0xC1 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_D) |
|
|
|
INST_RETURN(2, 0xCB, 0xC2 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_E) |
|
|
|
INST_RETURN(2, 0xCB, 0xC3 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_H) |
|
|
|
INST_RETURN(2, 0xCB, 0xC4 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(1) == REG_L) |
|
|
|
INST_RETURN(2, 0xCB, 0xC5 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDIRECT && |
|
|
|
(INST_INDIRECT(1).type == AT_REGISTER && INST_INDIRECT(1).addr.reg == REG_HL)) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(2, 0xCB, 0xC6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(2, 0xCB, 0xCE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(2, 0xCB, 0xD6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(2, 0xCB, 0xDE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(2, 0xCB, 0xE6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(2, 0xCB, 0xEE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(2, 0xCB, 0xF6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(2, 0xCB, 0xFE) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(2, 0xCB, 0xC6 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 2 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDEXED) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xEE) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF6) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7)) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFE) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC6 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
if (INST_NARGS == 3 && INST_TYPE(0) == AT_IMMEDIATE && INST_TYPE(1) == AT_INDEXED && INST_TYPE(2) == AT_REGISTER) { |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 0) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 1) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xCD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 2) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xD9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 3) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xDD) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 4) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xEF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xE9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xEA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xEB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xEC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 5) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xED) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF7) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF0) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF1) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF2) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF3) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF4) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 6) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF5) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFF) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF8) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xF9) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFA) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFB) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFC) |
|
|
|
if ((INST_IMM(0).mask & IMM_BIT && INST_IMM(0).uval == 7) && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xFD) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_A) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC7 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_B) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC0 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_C) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC1 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_D) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC2 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_E) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC3 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_H) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC4 + 8 * INST_IMM(0).uval) |
|
|
|
if (INST_IMM(0).mask & IMM_BIT && INST_REG(2) == REG_L) |
|
|
|
INST_RETURN(4, INST_INDEX_PREFIX(1), 0xCB, INST_INDEX(1).offset, 0xC5 + 8 * INST_IMM(0).uval) |
|
|
|
INST_ERROR(ARG_VALUE) |
|
|
|
} |
|
|
|
INST_ERROR(ARG_TYPE) |
|
|
|