打印
[其它应用]

ARM指令中BL和BEQ是什么意思?

[复制链接]
1436|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2023-6-8 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ARM指令中BL 和BEQ是什么意思?还有LR指什么?不明白,刚开始学,请教下各路大神~~

比较指令CMP的返回值是什么?

使用特权

评论回复
沙发
heimaojingzhang| | 2023-7-25 07:03 | 只看该作者
BEQ(比较相等,EQ为相等) 在BEQ指令前应该有一条比较指令,比如CMP R0,R1 若R0=R1,则执行BEQ指令,否则不执行

使用特权

评论回复
板凳
观海| | 2023-7-25 08:29 | 只看该作者
如果子程序再调用子程序,返前一次调用的子程序的返回地址要存储栈内 。

使用特权

评论回复
地板
keaibukelian| | 2023-7-25 10:47 | 只看该作者
B,BL,跳转。BL相当于C中的调用子函数,在跳转的标号最后加上MOV PC,LR 就可以返回BL下一条指令

使用特权

评论回复
5
paotangsan| | 2023-7-25 14:00 | 只看该作者
cmp()会有三种返回值:
1、返回一个正数:a排列在b之后;
2、返回0:a、b相等;
3、返回一个负数:a排在b之前;

使用特权

评论回复
6
guanjiaer| | 2023-7-25 17:51 | 只看该作者
LR 链接寄存器(用来存放子程序的返回地址) LR相当于指针变量,指令在内存中的地址

使用特权

评论回复
7
AdaMaYun| | 2023-12-5 15:53 | 只看该作者
heimaojingzhang 发表于 2023-7-25 07:03
BEQ(比较相等,EQ为相等) 在BEQ指令前应该有一条比较指令,比如CMP R0,R1 若R0=R1,则执行BEQ指令,否则 ...

确实楼主解释的很清楚

使用特权

评论回复
8
LOVEEVER| | 2023-12-5 16:21 | 只看该作者
先会使用相关的指令再进行相关开发

使用特权

评论回复
9
基本都是正常使用的一些基本指令

使用特权

评论回复
10
比较指令CMP的返回值是真和假

使用特权

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

本版积分规则

1510

主题

4547

帖子

6

粉丝