打印
[学习资料]

TST条件指令

[复制链接]
611|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TST条件指令
语法

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

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

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

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

 mov r0, #3
mov r1, #4
mov r2, #5
cmp r1,r0
movgt r0,r1
cmp r2,r0
movgt r0,r2

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

  mov r0,#9
  mov r1,#15
  cmp r0,r1
  beq stop
  subgt r0,r0,r1
  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中条件标志位的值

使用特权

评论回复
5
drawingchips| | 2023-12-28 09:28 | 只看该作者
中国龙芯CDX 发表于 2023-12-28 09:28
TST指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中 ...

这个主要应用在哪些情况里面?

使用特权

评论回复
6
代码输出机| | 2023-12-28 09:32 | 只看该作者
OliviaSH 发表于 2023-12-27 18:46
汇编是一点写不了

汇编是单片机的基础

使用特权

评论回复
7
超能电子| | 2023-12-28 09:35 | 只看该作者
这个指令一般使用在什么环境下?C的嵌入式开发吗?

使用特权

评论回复
8
EmmaTT| | 2023-12-28 16:31 | 只看该作者
汇编确实难学啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1879

帖子

1

粉丝