BLX指令的操作码是什么?

时间:2015-03-01 19:38:49

标签: arm

ARM组装中BLX指令的操作码是什么?和大小。 在Windows中,JMP操作码是0xE9 如何找到操作码和BLX指令的大小

1 个答案:

答案 0 :(得分:1)

从下图可以看出分支和交换指令的操作码为0x9(0b1001)。该操作码包含在指令的[24:21]位中。指令大小为32位。位号位于图像的顶部。

ARM instructions decoding

有关ARM中分支指令的详细信息,请参阅this

我还尝试使用 blx 指令编译代码,看看它在机器代码中的表示方式:

+-----------------+--------------+
| Assembler code  | Machine code |
+-----------------+--------------+
|    blx r0       |   e12fff30   |
|    blx r1       |   e12fff31   |
|    blx r13      |   e12fff3d   |
+-----------------+--------------+

所以你可以看到位[24:21]总是0b1001。