ARM 汇编指令TST问题

2025-04-06 05:35:03
推荐回答(3个)
回答1:

tst,比较然后更改标志位,但不回写结果值。也就是说tst指令执行后除了标志位有变化外其它都无变化,映像中cmp是两值相减只改标志位,tst是两值按位与只改标志位。

回答2:

结果为0 也就是说标志z=0,也就是相等的意思,,,,,,

回答3:

TST{条件}操作数1, 操作数2
意思:将寄存器与另外一个寄存器的内容进行按位与的运算,根据结果更新CPSR中条件标志位的值。它一般用来检测是否设置了特定的位。
操作数1是被测试的数,而操作数2是一个位掩码,当位结果为0时EQ被设置。EQ位的含义是相等。
例:TST R1,#oxFFE 将寄存器R1的值与立即数相与,并根据结果设置相应的CPSR的标志位