T32的IT指令

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

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

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

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

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

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

Error: Thumb does not support conditional execution

Warining: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8

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

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

    但是,编译,依然会报错。

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

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

 

此条目发表在ARM分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。