首页 > 代码库 > tst、cmp、bne、beq指令
tst、cmp、bne、beq指令
1、tst:逻辑处理指令,用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的与运算,并根据运算结果更新CPSR中条件标志位的值。当前运算结果为1,则Z=0;当前运算结果为0,则Z=1
cmp:算数处理指令,用于把一个寄存器的内容和另一个寄存器的内容或立即数进行减法比较,不存储结果,都会更改标志位
bne: 数据跳转指令,标志寄存器中Z标志位不等于零时, 跳转到BNE后标签处
beq: 数据跳转指令,标志寄存器中Z标志位等于零时, 跳转到BEQ后标签处
2、实例
tst r0 , #0x2 //进行and运算,如果bit_2为1,zero==0,如果bit_2为0,则zero==1,即该指令测试bit_2是否为0bne led_blink //非零则跳转,若zero==1,跳转到led_blink处执行;若zero==0,则继续执行下一步指令
3、实例
sub r1 , r1 , #1 //r1=r1-1cmp r1 , #0 //r1是否等于0,并更改标志位 bne led_blink //zero==1时跳转至led_blink处,zero==0时则继续执行
tst、cmp、bne、beq指令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。