- Forums
- Resources
- About
- Groups
Close
继续Tricore 汇编指令学习.
本集拟覆盖以下指令:
BISR
进入中断时保存Lower CSA,同时禁止指定优先级别的中断. 这条指令属于高级指令, 放在后文做Demo.
BMERGE
位合并. 将两个16bit整数交叉合并为一个32bit整数. 注意不是直接拼接, 交叉合并.
BSPLIT
位拆分, 将一个32bit整数拆分为一个64bit的整数.不是直接拆分, 交叉拆分.
CACHEA.I
CACHEA.W
CACHEA.WI
CACHEI.I
CACHEI.W
CACHEI.WI
这几条是Cache操作, 看不出效果来, 放在后文的Cache专门来写.
CADD
CADDN
条件加法,其中CADDN是CADD的条件取反版本.
CALL
CALLA
CALLI
三个函数调用指令, CALL与CALLA区别在于寻址范围, CALLI是间接调用,即函数地址在地址寄存器中.
CLO
CLO.H
计算整数的前置1的个数, .H版本将一个32bit数当做两个16bit数.
CLS
CLS.H
计算整数的前置符号的个数, .H版本将一个32bit数当做两个16bit数.
CLZ
CLZ.H
计算整数的前置0的个数, .H版本将一个32bit数当做两个16bit数.
以上三种二进制记数指令常用于Event的优化实现,如操作系统中的Event,进程调度,内存管理等算法.
CMOV (16-bit)
CMOVN (16-bit)
条件MOV指令. 大约等效于C语言中的(cond)?A:B语句.
CMP.F
比较浮点数. 不仅比较大小,还可检查浮点数的是否为NAN等.这个放在后面的浮点章节进行Demo.
CSUB
CSUBN
条件减法指令.
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。