查看了资料, 这个是if-then指令
If-Then
IT{pattern} {cond}
Makes up to four following instructions conditional, according to pattern.
pattern is a string of up to three letters. Each letter can be T (Then) or E (Else).
The first instruction after IT has condition cond.
The following instructions have condition cond if the corresponding letter is T, or the inverse of cond if the corresponding letter is E.
See Table Condition Field for available condition codes.
个人理解, 仅供参考 :
IT : if-then 指令, 后面最多可以带 3 个条件码 ( 为 E 或者 T )
然后紧跟一个条件 (这个条件将确定最多4条指令是否被执行)
这样可以控制 IT 指令后面4条指令的执行
第一条指令能否被执行, 取决于 IT 后紧跟的条件
后面的指令取决于 IT 后面带的条件码 ( 为 E 或者 T )
如果条件码为 T, : 只有当IT 后紧跟的条件 成立, 相应的指令被执行 如果条件码为 E, : 只有当IT 后紧跟的条件 不成立, 相应的指令被执行
也可以理解为 I 后面紧跟至少一个T, 接着最多 3 个T/E
ITxxx 后面的第一指令对应 T : 只有条件成立才会执行
IT - if then
大多数ARM指令都支持条件执行功能。这个特性在编译短的条件执行代码是非常有用。但是,16位的Thumb指令没有足够的编码空间来支持条件执行功能。 T h u m b-2技术提供了一条指令来实现类似的功能。
IT指令根据一位条件码可以控制其后最多四条指令的执行,这样对条件执行语句Thumb代码就可以取得类似ARM代码的性能了
|
|