gpt4 book ai didi

臂组件 - 多个推/弹出顺序和 SP

转载 作者:行者123 更新时间:2023-12-04 21:18:14 25 4
gpt4 key购买 nike

我已经看到了在同一行中推送/弹出多个寄存器的注释,例如:

push    {fp, lr}

我不知道谁先被推送——fp 还是 lr?

另一个问题 - SP 指向堆栈中的最后一个占用地址还是第一个空闲地址?

最佳答案

从 ARM ARM:

The registers are stored in sequence, the lowest-numbered register to the lowest memory address (start_address), through to the highest-numbered register to the highest memory address (end_address)



在 ARM 上,堆栈指针通常指向堆栈上最后占用的地址。例如,在设置初始堆栈指针时,您通常使用堆栈末尾之后的地址进行初始化。
PUSH只是 STMDB 的同义词使用 sp作为基址寄存器。 DB表示“先递减”寻址模式。

关于臂组件 - 多个推/弹出顺序和 SP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17764332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com