手臂拇指模式4byte说明

时间:2013-08-08 01:16:50

标签: assembly arm disassembly thumb cortex-m3

Thumb模式指令是2个字节,ARM模式指令是4个字节。 截图是拇指模式指令的反汇编。 为什么我看到4字节指令与2byte指令混合? 有人可以解释一下吗?

提前谢谢。

enter image description here

2 个答案:

答案 0 :(得分:1)

Cortex M micros只能在Thumb-2模式下运行,这在拇指和ARM模式之间。 Thumbs-2指令集包括16和32位指令,处理器不需要切换模式来执行这两种类型的指令。

答案 1 :(得分:1)

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471i/CHDFEDDB.html

或pdf

http://infocenter.arm.com/help/topic/com.arm.doc.dui0471i/DUI0471I_developing_for_arm_processors.pdf

Thumbv-2技术在ARMv6T2及更高版本的架构中可用。 Thumb-2技术是Thumb指令集的主要增强功能。它增加了32位指令,可以在程序中与16位指令自由混合。额外的32位编码Thumb指令使Thumb能够覆盖ARM指令集的大部分功能。 16位和32位指令的可用性使Thumb-2技术能够将早期版本Thumb的代码密度与ARM指令集的性能相结合。