xiaotaotao 发表于 2020-4-25 13:04
push压栈的时候将LR寄存器中的数据存放到栈内存,pop出栈的时候将栈内存存放的数据放置到PC寄存器中,这个 ...
q1009523480 发表于 2020-4-27 15:51
我是这样理解的,LR寄存器保存的是子函数的返回地址,当调用子程序时,将LR的值压栈(保存)。子程序调用结 ...
uestczcl 发表于 2020-4-28 10:23
pc并没有入栈啊,怎么 pop{pc}
q1009523480 发表于 2020-4-28 10:52
这和PC入栈没有关系,你可以这样想象,把栈比作一个杯子,现在先PUSH {LR},就是把LR的值放到杯子里面。 ...
uestczcl 发表于 2020-4-28 12:00
pop是弹出栈顶处的数据的嘛,不应该是 pop{LR} 吗?然后 mov pc,lr
q1009523480 发表于 2020-4-28 16:00
这两种操作不是一样的吗?直接POP {PC}多简单
欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) | Powered by Discuz! X3.4 |