汇编基础(二)

一、程序跳转指令
1、修改pc的值实现跳转
mov pc ,#0x00
不建议使用,因为要自己计算你要跳的地址(有的时候你不知道地址,知道的情况下是可以用的)

2、跳转指令 B
B function
用法:
它不会去修改LR的值,意味着程序无法跳转回来在这里插入图片描述3、带返回的跳转指令
BL function
用法
它可以用LR去保存跳转指令下一条指令的地址然后可以使用mov PC LR 的方法跳转回来 在这里插入图片描述
二、条件码
@条件码是判断一件事是否成立,如果是执行如果不是则跳过
@有点像C 里面的 if
@但是条件码并不是一条指令,它只是一个后缀(加在指令上的一个后缀,如果条件码成立则执行该指令,否则跳过)
@一般作用与cmp 指令后面
CMP (COMPARE) 比较指令
用法 CMP R1 , R2
比较R1 R2 的值 (本质上为减法指令(是SUB)但是它没有目标寄存器)也就是没有返回值 它作用也CPSR的N Z C V 为
请看图:
在这里插入图片描述
通过判断N,Z,C ,V的状态(0OR1)就可以看出CMP R1 , R2
然后再通过下一条指令加上条件码判断CMP 是否成立来判断该指令是否执行
讲这么多,什么是条件码?
看图:
在这里插入图片描述
这个助记后缀符就是条件码
用法:
在这里插入图片描述
里面的EQ NE GE LT等都是条件码 @前面提到条件码和if的功能相似那么我们用它来实现c中IF的功能
练习:
在这里插入图片描述
———————————————————————————————

汇编代码:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值