首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STP指令占用的内存

STP指令占用的内存
EN

Stack Overflow用户
提问于 2015-06-01 07:56:39
回答 1查看 431关注 0票数 0

接受以下指示:

代码语言:javascript
复制
stp x29, x30, [sp, -32]! 

假设堆栈指针位于地址0,那么存储什么地址x29x30

  • 备选案文1:[sp-16][sp-32]
  • 备选案文2:[sp-32][sp-40]

我知道堆栈向低地址增长,但是每当存储时我们使用的地址越来越多,因此我认为‘选项1’是正确的答案。

你认为如何?

EN

回答 1

Stack Overflow用户

发布于 2015-06-01 08:46:46

不管寻址模式如何,超过1字节的内存访问总是从给定的基址开始并上升,因此您的“选项2”在基址的任何一侧都是不正确的。另外,考虑到您试图存储在它下面,初始堆栈指针0将是无效的--从体系结构上讲,地址计算的结果是不知道的,因此,虽然某些硬件可能碰巧产生预期地址,但您绝对不应该依赖它。

例如,在本例中,如果初始sp为0x1000,则第一个寄存器(x29)的字节存储到地址0x0fe0.0xfe7(按当前endianness的适当顺序),第二个字节(x30)存储到0xfe8.0xfef,最后将0xfe0写入sp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30568371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档