[学习资料] TST条件指令

[复制链接]
1113|7
 楼主| 小小蚂蚁举千斤 发表于 2023-12-26 18:50 | 显示全部楼层 |阅读模式
TST条件指令
语法

  1. TST{条件}  操作数1,操作数2

TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。操作数1是要测试的数据,而操作数2是一个位掩码,根据测试结果设置相应标志位。当位与结果为0时,EQ位被设置。 指令示例

  1.    TST   R1,#%1  ;用于测试在寄存器R1中是否设置了最低位(%表示二进制数)。

比较指令和条件执行举例
例1:找出三个寄存器中数据最大的数

  1. mov r0, #3
  2. mov r1, #4
  3. mov r2, #5
  4. cmp r1,r0
  5. movgt r0,r1
  6. cmp r2,r0
  7. movgt r0,r2

例2:求两个数的差的绝对值

  1.   mov r0,#9
  2.   mov r1,#15
  3.   cmp r0,r1
  4.   beq stop
  5.   subgt r0,r0,r1
  6.   sublt r1,r1,r0

带条件码的指令执行请参考本篇表格《指令的条件码》

自己的灌饼 发表于 2023-12-27 09:37 | 显示全部楼层
条件指令相当于C语言中的if语句吗?
OliviaSH 发表于 2023-12-27 18:46 来自手机 | 显示全部楼层
汇编是一点写不了
中国龙芯CDX 发表于 2023-12-28 09:28 | 显示全部楼层
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值
drawingchips 发表于 2023-12-28 09:28 | 显示全部楼层
中国龙芯CDX 发表于 2023-12-28 09:28
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中 ...

这个主要应用在哪些情况里面?
代码输出机 发表于 2023-12-28 09:32 | 显示全部楼层
OliviaSH 发表于 2023-12-27 18:46
汇编是一点写不了

汇编是单片机的基础
超能电子 发表于 2023-12-28 09:35 | 显示全部楼层
这个指令一般使用在什么环境下?C的嵌入式开发吗?
EmmaTT 发表于 2023-12-28 16:31 来自手机 | 显示全部楼层
汇编确实难学啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

228

主题

2630

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部