moar instructions and shit implemented

This commit is contained in:
StapleButter
2016-12-03 17:58:24 +01:00
parent f2858e1c47
commit 1e4086e1b6
10 changed files with 648 additions and 280 deletions

View File

@ -4,56 +4,56 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0000 0000 0000
A_AND_REG_LSL_IMM, A_AND_REG_LSL_REG, A_AND_REG_LSR_IMM, A_AND_REG_LSR_REG,
A_AND_REG_ASR_IMM, A_AND_REG_ASR_REG, A_AND_REG_ROR_IMM, A_AND_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_POST_REG,
A_UNK, A_LDRD_POST_REG, A_UNK, A_STRD_POST_REG,
A_AND_REG_LSL_IMM, A_UNK, A_AND_REG_LSR_IMM, A_STRH_POST_REG,
A_AND_REG_ASR_IMM, A_LDRD_POST_REG, A_AND_REG_ROR_IMM, A_STRD_POST_REG,
// 0000 0001 0000
A_AND_REG_LSL_IMM_S, A_AND_REG_LSL_REG_S, A_AND_REG_LSR_IMM_S, A_AND_REG_LSR_REG_S,
A_AND_REG_ASR_IMM_S, A_AND_REG_ASR_REG_S, A_AND_REG_ROR_IMM_S, A_AND_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_POST_REG,
A_UNK, A_LDRSB_POST_REG, A_UNK, A_LDRSH_POST_REG,
A_AND_REG_LSL_IMM_S, A_UNK, A_AND_REG_LSR_IMM_S, A_LDRH_POST_REG,
A_AND_REG_ASR_IMM_S, A_LDRSB_POST_REG, A_AND_REG_ROR_IMM_S, A_LDRSH_POST_REG,
// 0000 0010 0000
A_EOR_REG_LSL_IMM, A_EOR_REG_LSL_REG, A_EOR_REG_LSR_IMM, A_EOR_REG_LSR_REG,
A_EOR_REG_ASR_IMM, A_EOR_REG_ASR_REG, A_EOR_REG_ROR_IMM, A_EOR_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_EOR_REG_LSL_IMM, A_UNK, A_EOR_REG_LSR_IMM, A_UNK,
A_EOR_REG_ASR_IMM, A_UNK, A_EOR_REG_ROR_IMM, A_UNK,
// 0000 0011 0000
A_EOR_REG_LSL_IMM_S, A_EOR_REG_LSL_REG_S, A_EOR_REG_LSR_IMM_S, A_EOR_REG_LSR_REG_S,
A_EOR_REG_ASR_IMM_S, A_EOR_REG_ASR_REG_S, A_EOR_REG_ROR_IMM_S, A_EOR_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_EOR_REG_LSL_IMM_S, A_UNK, A_EOR_REG_ROR_IMM_S, A_UNK,
A_EOR_REG_ASR_IMM_S, A_UNK, A_EOR_REG_ROR_IMM_S, A_UNK,
// 0000 0100 0000
A_SUB_REG_LSL_IMM, A_SUB_REG_LSL_REG, A_SUB_REG_LSR_IMM, A_SUB_REG_LSR_REG,
A_SUB_REG_ASR_IMM, A_SUB_REG_ASR_REG, A_SUB_REG_ROR_IMM, A_SUB_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_POST_IMM,
A_UNK, A_LDRD_POST_IMM, A_UNK, A_STRD_POST_IMM,
A_SUB_REG_LSL_IMM, A_UNK, A_SUB_REG_LSR_IMM, A_STRH_POST_IMM,
A_SUB_REG_ASR_IMM, A_LDRD_POST_IMM, A_SUB_REG_ROR_IMM, A_STRD_POST_IMM,
// 0000 0101 0000
A_SUB_REG_LSL_IMM_S, A_SUB_REG_LSL_REG_S, A_SUB_REG_LSR_IMM_S, A_SUB_REG_LSR_REG_S,
A_SUB_REG_ASR_IMM_S, A_SUB_REG_ASR_REG_S, A_SUB_REG_ROR_IMM_S, A_SUB_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_POST_IMM,
A_UNK, A_LDRSB_POST_IMM, A_UNK, A_LDRSH_POST_IMM,
A_SUB_REG_LSL_IMM_S, A_UNK, A_SUB_REG_LSR_IMM_S, A_LDRH_POST_IMM,
A_SUB_REG_ASR_IMM_S, A_LDRSB_POST_IMM, A_SUB_REG_ROR_IMM_S, A_LDRSH_POST_IMM,
// 0000 0110 0000
A_RSB_REG_LSL_IMM, A_RSB_REG_LSL_REG, A_RSB_REG_LSR_IMM, A_RSB_REG_LSR_REG,
A_RSB_REG_ASR_IMM, A_RSB_REG_ASR_REG, A_RSB_REG_ROR_IMM, A_RSB_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_RSB_REG_LSL_IMM, A_UNK, A_RSB_REG_LSR_IMM, A_UNK,
A_RSB_REG_ASR_IMM, A_UNK, A_RSB_REG_ROR_IMM, A_UNK,
// 0000 0111 0000
A_RSB_REG_LSL_IMM_S, A_RSB_REG_LSL_REG_S, A_RSB_REG_LSR_IMM_S, A_RSB_REG_LSR_REG_S,
A_RSB_REG_ASR_IMM_S, A_RSB_REG_ASR_REG_S, A_RSB_REG_ROR_IMM_S, A_RSB_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_RSB_REG_LSL_IMM_S, A_UNK, A_RSB_REG_LSR_IMM_S, A_UNK,
A_RSB_REG_ASR_IMM_S, A_UNK, A_RSB_REG_ROR_IMM_S, A_UNK,
// 0000 1000 0000
A_ADD_REG_LSL_IMM, A_ADD_REG_LSL_REG, A_ADD_REG_LSR_IMM, A_ADD_REG_LSR_REG,
A_ADD_REG_ASR_IMM, A_ADD_REG_ASR_REG, A_ADD_REG_ROR_IMM, A_ADD_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_POST_REG,
A_UNK, A_LDRD_POST_REG, A_UNK, A_STRD_POST_REG,
A_ADD_REG_LSL_IMM, A_UNK, A_ADD_REG_LSR_IMM, A_STRH_POST_REG,
A_ADD_REG_ASR_IMM, A_LDRD_POST_REG, A_ADD_REG_ROR_IMM, A_STRD_POST_REG,
// 0000 1001 0000
A_ADD_REG_LSL_IMM_S, A_ADD_REG_LSL_REG_S, A_ADD_REG_LSR_IMM_S, A_ADD_REG_LSR_REG_S,
@ -64,38 +64,38 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0000 1010 0000
A_ADC_REG_LSL_IMM, A_ADC_REG_LSL_REG, A_ADC_REG_LSR_IMM, A_ADC_REG_LSR_REG,
A_ADC_REG_ASR_IMM, A_ADC_REG_ASR_REG, A_ADC_REG_ROR_IMM, A_ADC_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_ADC_REG_LSL_IMM, A_UNK, A_ADC_REG_LSR_IMM, A_UNK,
A_ADC_REG_ASR_IMM, A_UNK, A_ADC_REG_ROR_IMM, A_UNK,
// 0000 1011 0000
A_ADC_REG_LSL_IMM_S, A_ADC_REG_LSL_REG_S, A_ADC_REG_LSR_IMM_S, A_ADC_REG_LSR_REG_S,
A_ADC_REG_ASR_IMM_S, A_ADC_REG_ASR_REG_S, A_ADC_REG_ROR_IMM_S, A_ADC_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_ADC_REG_LSL_IMM_S, A_UNK, A_ADC_REG_LSR_IMM_S, A_UNK,
A_ADC_REG_ASR_IMM_S, A_UNK, A_ADC_REG_ROR_IMM_S, A_UNK,
// 0000 1100 0000
A_SBC_REG_LSL_IMM, A_SBC_REG_LSL_REG, A_SBC_REG_LSR_IMM, A_SBC_REG_LSR_REG,
A_SBC_REG_ASR_IMM, A_SBC_REG_ASR_REG, A_SBC_REG_ROR_IMM, A_SBC_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_POST_IMM,
A_UNK, A_LDRD_POST_IMM, A_UNK, A_STRD_POST_IMM,
A_SBC_REG_LSL_IMM, A_UNK, A_SBC_REG_LSR_IMM, A_STRH_POST_IMM,
A_SBC_REG_ASR_IMM, A_LDRD_POST_IMM, A_SBC_REG_ROR_IMM, A_STRD_POST_IMM,
// 0000 1101 0000
A_SBC_REG_LSL_IMM_S, A_SBC_REG_LSL_REG_S, A_SBC_REG_LSR_IMM_S, A_SBC_REG_LSR_REG_S,
A_SBC_REG_ASR_IMM_S, A_SBC_REG_ASR_REG_S, A_SBC_REG_ROR_IMM_S, A_SBC_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_POST_IMM,
A_UNK, A_LDRSB_POST_IMM, A_UNK, A_LDRSH_POST_IMM,
A_SBC_REG_LSL_IMM_S, A_UNK, A_SBC_REG_LSR_IMM_S, A_LDRH_POST_IMM,
A_SBC_REG_ASR_IMM_S, A_LDRSB_POST_IMM, A_SBC_REG_ROR_IMM_S, A_LDRSH_POST_IMM,
// 0000 1110 0000
A_RSC_REG_LSL_IMM, A_RSC_REG_LSL_REG, A_RSC_REG_LSR_IMM, A_RSC_REG_LSR_REG,
A_RSC_REG_ASR_IMM, A_RSC_REG_ASR_REG, A_RSC_REG_ROR_IMM, A_RSC_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_RSC_REG_LSL_IMM, A_UNK, A_RSC_REG_LSR_IMM, A_UNK,
A_RSC_REG_ASR_IMM, A_UNK, A_RSC_REG_ROR_IMM, A_UNK,
// 0000 1111 0000
A_RSC_REG_LSL_IMM_S, A_RSC_REG_LSL_REG_S, A_RSC_REG_LSR_IMM_S, A_RSC_REG_LSR_REG_S,
A_RSC_REG_ASR_IMM_S, A_RSC_REG_ASR_REG_S, A_RSC_REG_ROR_IMM_S, A_RSC_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_RSC_REG_LSL_IMM_S, A_UNK, A_RSC_REG_LSR_IMM_S, A_UNK,
A_RSC_REG_ASR_IMM_S, A_UNK, A_RSC_REG_ROR_IMM_S, A_UNK,
@ -108,8 +108,8 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0001 0001 0000
A_TST_REG_LSL_IMM, A_TST_REG_LSL_REG, A_TST_REG_LSR_IMM, A_TST_REG_LSR_REG,
A_TST_REG_ASR_IMM, A_TST_REG_ASR_REG, A_TST_REG_ROR_IMM, A_TST_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_LDRH_REG,
A_UNK, A_LDRSB_REG, A_UNK, A_LDRSH_REG,
A_TST_REG_LSL_IMM, A_UNK, A_TST_REG_LSR_IMM, A_LDRH_REG,
A_TST_REG_ASR_IMM, A_LDRSB_REG, A_TST_REG_ROR_IMM, A_LDRSH_REG,
// 0001 0010 0000
A_MSR_REG, A_BX, A_UNK, A_BLX_REG,
@ -120,8 +120,8 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0001 0011 0000
A_TEQ_REG_LSL_IMM, A_TEQ_REG_LSL_REG, A_TEQ_REG_LSR_IMM, A_TEQ_REG_LSR_REG,
A_TEQ_REG_ASR_IMM, A_TEQ_REG_ASR_REG, A_TEQ_REG_ROR_IMM, A_TEQ_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_LDRH_REG,
A_UNK, A_LDRSB_REG, A_UNK, A_LDRSH_REG,
A_TEQ_REG_LSL_IMM, A_UNK, A_TEQ_REG_LSR_IMM, A_LDRH_REG,
A_TEQ_REG_ASR_IMM, A_LDRSB_REG, A_TEQ_REG_ROR_IMM, A_LDRSH_REG,
// 0001 0100 0000
A_MRS, A_UNK, A_UNK, A_UNK,
@ -132,8 +132,8 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0001 0101 0000
A_CMP_REG_LSL_IMM, A_CMP_REG_LSL_REG, A_CMP_REG_LSR_IMM, A_CMP_REG_LSR_REG,
A_CMP_REG_ASR_IMM, A_CMP_REG_ASR_REG, A_CMP_REG_ROR_IMM, A_CMP_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_LDRH_IMM,
A_UNK, A_LDRSB_IMM, A_UNK, A_LDRSH_IMM,
A_CMP_REG_LSL_IMM, A_UNK, A_CMP_REG_LSR_IMM, A_LDRH_IMM,
A_CMP_REG_ASR_IMM, A_LDRSB_IMM, A_CMP_REG_ROR_IMM, A_LDRSH_IMM,
// 0001 0110 0000
A_MSR_REG, A_UNK, A_UNK, A_UNK,
@ -144,56 +144,56 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 0001 0111 0000
A_CMN_REG_LSL_IMM, A_CMN_REG_LSL_REG, A_CMN_REG_LSR_IMM, A_CMN_REG_LSR_REG,
A_CMN_REG_ASR_IMM, A_CMN_REG_ASR_REG, A_CMN_REG_ROR_IMM, A_CMN_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_LDRH_IMM,
A_UNK, A_LDRSB_IMM, A_UNK, A_LDRSH_IMM,
A_CMN_REG_LSL_IMM, A_UNK, A_CMN_REG_LSR_IMM, A_LDRH_IMM,
A_CMN_REG_ASR_IMM, A_LDRSB_IMM, A_CMN_REG_ROR_IMM, A_LDRSH_IMM,
// 0001 1000 0000
A_ORR_REG_LSL_IMM, A_ORR_REG_LSL_REG, A_ORR_REG_LSR_IMM, A_ORR_REG_LSR_REG,
A_ORR_REG_ASR_IMM, A_ORR_REG_ASR_REG, A_ORR_REG_ROR_IMM, A_ORR_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_REG,
A_UNK, A_LDRD_REG, A_UNK, A_STRD_REG,
A_ORR_REG_LSL_IMM, A_UNK, A_ORR_REG_LSR_IMM, A_STRH_REG,
A_ORR_REG_ASR_IMM, A_LDRD_REG, A_ORR_REG_ROR_IMM, A_STRD_REG,
// 0001 1001 0000
A_ORR_REG_LSL_IMM_S, A_ORR_REG_LSL_REG_S, A_ORR_REG_LSR_IMM_S, A_ORR_REG_LSR_REG_S,
A_ORR_REG_ASR_IMM_S, A_ORR_REG_ASR_REG_S, A_ORR_REG_ROR_IMM_S, A_ORR_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_REG,
A_UNK, A_LDRSB_REG, A_UNK, A_LDRSH_REG,
A_ORR_REG_LSL_IMM_S, A_UNK, A_ORR_REG_LSR_IMM_S, A_LDRH_REG,
A_ORR_REG_ASR_IMM_S, A_LDRSB_REG, A_ORR_REG_ROR_IMM_S, A_LDRSH_REG,
// 0001 1010 0000
A_MOV_REG_LSL_IMM, A_MOV_REG_LSL_REG, A_MOV_REG_LSR_IMM, A_MOV_REG_LSR_REG,
A_MOV_REG_ASR_IMM, A_MOV_REG_ASR_REG, A_MOV_REG_ROR_IMM, A_MOV_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_REG,
A_UNK, A_LDRD_REG, A_UNK, A_STRD_REG,
A_MOV_REG_LSL_IMM, A_UNK, A_MOV_REG_LSR_IMM, A_STRH_REG,
A_MOV_REG_ASR_IMM, A_LDRD_REG, A_MOV_REG_ROR_IMM, A_STRD_REG,
// 0001 1011 0000
A_MOV_REG_LSL_IMM_S, A_MOV_REG_LSL_REG_S, A_MOV_REG_LSR_IMM_S, A_MOV_REG_LSR_REG_S,
A_MOV_REG_ASR_IMM_S, A_MOV_REG_ASR_REG_S, A_MOV_REG_ROR_IMM_S, A_MOV_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_REG,
A_UNK, A_LDRSB_REG, A_UNK, A_LDRSH_REG,
A_MOV_REG_LSL_IMM_S, A_UNK, A_MOV_REG_LSR_IMM_S, A_LDRH_REG,
A_MOV_REG_ASR_IMM_S, A_LDRSB_REG, A_MOV_REG_ROR_IMM_S, A_LDRSH_REG,
// 0001 1100 0000
A_BIC_REG_LSL_IMM, A_BIC_REG_LSL_REG, A_BIC_REG_LSR_IMM, A_BIC_REG_LSR_REG,
A_BIC_REG_ASR_IMM, A_BIC_REG_ASR_REG, A_BIC_REG_ROR_IMM, A_BIC_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_IMM,
A_UNK, A_LDRD_IMM, A_UNK, A_STRD_IMM,
A_BIC_REG_LSL_IMM, A_UNK, A_BIC_REG_LSR_IMM, A_STRH_IMM,
A_BIC_REG_ASR_IMM, A_LDRD_IMM, A_BIC_REG_ROR_IMM, A_STRD_IMM,
// 0001 1101 0000
A_BIC_REG_LSL_IMM_S, A_BIC_REG_LSL_REG_S, A_BIC_REG_LSR_IMM_S, A_BIC_REG_LSR_REG_S,
A_BIC_REG_ASR_IMM_S, A_BIC_REG_ASR_REG_S, A_BIC_REG_ROR_IMM_S, A_BIC_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_IMM,
A_UNK, A_LDRSB_IMM, A_UNK, A_LDRSH_IMM,
A_BIC_REG_LSL_IMM_S, A_UNK, A_BIC_REG_LSR_IMM_S, A_LDRH_IMM,
A_BIC_REG_ASR_IMM_S, A_LDRSB_IMM, A_BIC_REG_ROR_IMM_S, A_LDRSH_IMM,
// 0001 1110 0000
A_MVN_REG_LSL_IMM, A_MVN_REG_LSL_REG, A_MVN_REG_LSR_IMM, A_MVN_REG_LSR_REG,
A_MVN_REG_ASR_IMM, A_MVN_REG_ASR_REG, A_MVN_REG_ROR_IMM, A_MVN_REG_ROR_REG,
A_UNK, A_UNK, A_UNK, A_STRH_IMM,
A_UNK, A_LDRD_IMM, A_UNK, A_STRD_IMM,
A_MVN_REG_LSL_IMM, A_UNK, A_MVN_REG_LSR_IMM, A_STRH_IMM,
A_MVN_REG_ASR_IMM, A_LDRD_IMM, A_MVN_REG_ROR_IMM, A_STRD_IMM,
// 0001 1111 0000
A_MVN_REG_LSL_IMM_S, A_MVN_REG_LSL_REG_S, A_MVN_REG_LSR_IMM_S, A_MVN_REG_LSR_REG_S,
A_MVN_REG_ASR_IMM_S, A_MVN_REG_ASR_REG_S, A_MVN_REG_ROR_IMM_S, A_MVN_REG_ROR_REG_S,
A_UNK, A_UNK, A_UNK, A_LDRH_IMM,
A_UNK, A_LDRSB_IMM, A_UNK, A_LDRSH_IMM,
A_MVN_REG_LSL_IMM_S, A_UNK, A_MVN_REG_LSR_IMM_S, A_LDRH_IMM,
A_MVN_REG_ASR_IMM_S, A_LDRSB_IMM, A_MVN_REG_ROR_IMM_S, A_LDRSH_IMM,
@ -786,198 +786,198 @@ INSTRFUNC_PROTO(ARMInstrTable[4096]) =
// 1000 0000 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 0001 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 0010 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 0011 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 0100 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 0101 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 0110 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 0111 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 1000 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 1001 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 1010 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 1011 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 1100 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 1101 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1000 1110 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1000 1111 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 0000 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 0001 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 0010 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 0011 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 0100 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 0101 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 0110 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 0111 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 1000 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 1001 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 1010 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 1011 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 1100 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 1101 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
// 1001 1110 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
A_STM, A_STM, A_STM, A_STM,
// 1001 1111 0000
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_UNK, A_UNK, A_UNK, A_UNK,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
A_LDM, A_LDM, A_LDM, A_LDM,
@ -1607,16 +1607,16 @@ INSTRFUNC_PROTO(THUMBInstrTable[1024]) =
T_ASR_IMM, T_ASR_IMM, T_ASR_IMM, T_ASR_IMM,
// 0001 1000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_REG_, T_ADD_REG_, T_ADD_REG_, T_ADD_REG_,
T_ADD_REG_, T_ADD_REG_, T_ADD_REG_, T_ADD_REG_,
T_SUB_REG_, T_SUB_REG_, T_SUB_REG_, T_SUB_REG_,
T_SUB_REG_, T_SUB_REG_, T_SUB_REG_, T_SUB_REG_,
// 0001 1100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_IMM_, T_ADD_IMM_, T_ADD_IMM_, T_ADD_IMM_,
T_ADD_IMM_, T_ADD_IMM_, T_ADD_IMM_, T_ADD_IMM_,
T_SUB_IMM_, T_SUB_IMM_, T_SUB_IMM_, T_SUB_IMM_,
T_SUB_IMM_, T_SUB_IMM_, T_SUB_IMM_, T_SUB_IMM_,
// 0010 0000 00
T_MOV_IMM, T_MOV_IMM, T_MOV_IMM, T_MOV_IMM,
@ -1675,9 +1675,9 @@ INSTRFUNC_PROTO(THUMBInstrTable[1024]) =
T_ORR_REG, T_MUL_REG, T_BIC_REG, T_MVN_REG,
// 0100 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_ADD_HIREG, T_ADD_HIREG, T_ADD_HIREG,
T_UNK, T_CMP_HIREG, T_CMP_HIREG, T_CMP_HIREG,
T_UNK, T_MOV_HIREG, T_MOV_HIREG, T_MOV_HIREG,
T_BX, T_BX, T_BLX_REG, T_BLX_REG,
// 0100 1000 00
@ -1717,52 +1717,52 @@ INSTRFUNC_PROTO(THUMBInstrTable[1024]) =
T_UNK, T_UNK, T_UNK, T_UNK,
// 0110 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
// 0110 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
T_STR_IMM, T_STR_IMM, T_STR_IMM, T_STR_IMM,
// 0110 1000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
// 0110 1100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
T_LDR_IMM, T_LDR_IMM, T_LDR_IMM, T_LDR_IMM,
// 0111 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
// 0111 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
T_STRB_IMM, T_STRB_IMM, T_STRB_IMM, T_STRB_IMM,
// 0111 1000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
// 0111 1100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM, T_LDRB_IMM,
@ -1791,55 +1791,55 @@ INSTRFUNC_PROTO(THUMBInstrTable[1024]) =
T_LDRH_IMM, T_LDRH_IMM, T_LDRH_IMM, T_LDRH_IMM,
// 1001 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
// 1001 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
T_STR_SPREL, T_STR_SPREL, T_STR_SPREL, T_STR_SPREL,
// 1001 1000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
// 1001 1100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL, T_LDR_SPREL,
// 1010 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
// 1010 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL, T_ADD_PCREL,
// 1010 1000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
// 1010 1100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL, T_ADD_SPREL,
// 1011 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_ADD_SP, T_ADD_SP, T_ADD_SP, T_ADD_SP,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
@ -1913,16 +1913,16 @@ INSTRFUNC_PROTO(THUMBInstrTable[1024]) =
T_UNK, T_UNK, T_UNK, T_UNK,
// 1110 0000 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
// 1110 0100 00
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_UNK, T_UNK, T_UNK, T_UNK,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
T_B, T_B, T_B, T_B,
// 1110 1000 00
T_BL_LONG_2, T_BL_LONG_2, T_BL_LONG_2, T_BL_LONG_2,