![21天学通Linux嵌入式开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/594/680594/b_680594.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.5 不支持的指令
Cortex-M3不支持ARM指令。另外,Cortex-M3支持绝大部分的ARMv6 Thumb指令,但以下两个指令不支持。
· BLX #im:在使用立即数做操作数时,BLX总是要切入ARM状态。因为Cortex-M3只在Thumb态下运行,故以此指令为代表的,凡是试图切入ARM态的操作,都将引发一个用法错误。
· SETEND:由v6引入的,在运行时改变处理器端设置的指令(大端或小端)。因为Cortex-M3不支持动态端的功能,所以此指令也将引发错误。
Cortex-M3支持部分的ARMv7 Thumb指令,但有少量在ARMv7 Thumb中列出的指令不被支持,如表5-13所示。
表5-13 不支持的ARMv7 Thumb指令
![](https://epubservercos.yuewen.com/7B981F/3590446203795101/epubprivate/OEBPS/Images/figure_0071_0002.jpg?sign=1738871760-7YN5HLegUYUfZaxUW4EViKCOHhzxuHrp-0-4e4702e96519850059e00aa59685422d)