卢骏 · 2020年06月20日

T32的IT指令

AArch32中,包括了A32指令和T32指令,A32指令是可以条件执行指令,但是T32指令是不可以条件执行。

但在T32中,提供了IT指令,用来给之后的T32指令,指定执行条件。因此T32的指令,可以条件执行。

IT指令,可以最多给之后的4条指令,指定执行条件。
1.png

执行条件,存储在CPSR的IT block状态中。
082017_0655_T32IT2.png

在T32代码中,如果指令,写上条件。
3.png

使用arm的gcc工具,编译,会出现以下错误:
4.png

Error: Thumb does not support conditional execution
Warining: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8

提示,thumb指令,不支持条件执行。

此时,需要加入IT指令,指定之后两条指令,条件执行的条件。
5.png

但是,编译,依然会报错。
6.png

此时,需要在 it指令的前面,加上 .syntax unified 关键字。
7.png

此时,编译成功。生成a32.o。
8.png

系列其他篇

原文首发于骏的世界博客
作者:卢骏.
更多Arm技术相关的文章请关注Arm技术博客极术专栏,每日更新。
推荐阅读
关注数
23554
内容数
1003
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息