如何判断thumb2指令的宽度

thumb2指令同时支持16位和32位,判断方式如下:

Bit[15:11]

    • 0b11101
    • 0b11110
    • 0b11111
如果指令的15到11位是如上三种值的话就是32位,相邻两个半字组成一条指令,否则就是16位。

C语言判断的宏定义:

static inline bool T$32bit$i(uint16_t ic) {

return ((ic & 0xe000) == 0xe000 && (ic & 0x1800) != 0x0000);

}


你可能感兴趣的:(如何判断thumb2指令的宽度)