diff --git a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c index 74154fc219..f9c84bb890 100644 --- a/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c +++ b/ArmPkg/Library/ArmDisassemblerLib/ThumbDisassembler.c @@ -81,6 +81,16 @@ extern CHAR8 *gReg[]; #define ADD_IMM5 219 #define ADR_THUMB2 220 #define CMN_THUMB2 221 +#define ASR_IMM5 222 +#define ASR_3REG 223 +#define BFC_THUMB2 224 +#define CDP_THUMB2 225 +#define THUMB2_NO_ARGS 226 +#define THUMB2_2REGS 227 +#define ADD_IMM5_2REG 228 +#define CPD_THUMB2 229 +#define THUMB2_4REGS 230 + typedef struct { CHAR8 *Start; @@ -143,6 +153,7 @@ THUMB_INSTRUCTIONS gOpThumb[] = { { "LSL" , 0x4080, 0xffc0, DATA_FORMAT5 }, { "LSR" , 0x0001, 0xf800, DATA_FORMAT4 }, { "LSR" , 0x40c0, 0xffc0, DATA_FORMAT5 }, + { "LSRS", 0x0800, 0xf800, DATA_FORMAT4 }, // LSRS , , # { "MOVS", 0x2000, 0xf800, DATA_FORMAT3 }, { "MOV" , 0x1c00, 0xffc0, DATA_FORMAT3 }, @@ -190,8 +201,14 @@ THUMB_INSTRUCTIONS gOpThumb[] = { THUMB_INSTRUCTIONS gOpThumb2[] = { //Instruct OpCode OpCode Mask Addressig Mode - { "ADR", 0xf2af0000, 0xfbff8000, ADR_THUMB2 }, // ADDR ,