n0noper 发表于 2018-10-3 17:08

Yang|阳 发表于 2018-10-3 20:16

问一个问题,我在下面代码的相应行写问题哈!~麻烦解答一下,谢谢!!~~
.text

.global _start



_start:

   mov r0, #2

   mov r1, #2

   add r0, r0, r1

   cmp r0, #4

   beq func1               //这里跳转不是BL,就是说,并不是带链接的跳转,那么问什么在func1中还要使用BX lr,返回呢???lr寄存器中的值是什么??会不会跑飞??

   add r1, #5

   b func2

func1:

   mov r1, r0

   bxlr

func2:

   mov r0, r1

   bxlr

Pear 发表于 2018-10-3 18:23

谢谢,学习了·~

w1223 发表于 2018-10-3 18:27

看不懂,顶贴支持。

li645944229 发表于 2018-10-3 19:00

搞汇编的大佬……

wangqiustc 发表于 2018-10-3 20:22

学习学习。

gongyong728125 发表于 2018-10-4 08:10

谢谢楼主,好文章!

sstm 发表于 2018-10-4 08:49

n0noper 发表于 2018-10-4 12:38

Yang|阳 发表于 2018-10-4 16:12

n0noper 发表于 2018-10-4 12:38
说的有道理! 支持!
我手头电脑没有环境没法测试,你可以调试一下,看看R14(LR)的值
我的理解和你一样 ...

{:1_909:}我也没相应的调试环境了,昨天仔细看了一下程序,才有的这个疑问....
页: [1] 2 3
查看完整版本: ARM汇编基础教程:6.条件执行与分支