您的位置 首页 培训

arm仓库操作

arm堆栈的组织结构是满栈降的形式,满栈即sp是要停留在最后一个进栈元素,降:就是堆栈的增长方向是从高地址向低地址发展。arm对于堆栈

arm仓库的安排结构是 满栈降 的方法,满栈即sp是要停留在最终一个进栈元素,降:便是仓库的增加方向是从高地址向低地址开展。

arm关于仓库的操作一般选用 LDMFD(pop)和STMFD (push) 两个指令。

曾经困惑的便是STMFD 指令 关于操作数 是依照什么次序压栈的

比方:STMFD sp!{R0-R5,LR} 进栈次序是:

高地址(1方法)

LR

R5

R4

“““`

R0<-sp

低地址

仍是:

高地址(2方法)

R0

R1

“`

R5

LR <-sp

低地址

现在经过下表,能够轻松的处理这个问题:

寻址方法 阐明 pop =LDM push =STM
FA 递加满 LDMFA LDMDA STMFA STMIB
FD 递减满 LDMFD LDMIA STMFD STMDB
EA 递加空 LDMEA LDMDB STMEA STMIA
ED 递减空 LDMED LDMIB STMED STMDA

依照图表,可知 STMFD对应的是STMDB,依据arm指令手册,可知STMDB入栈次序是(1方法)

而LDMFD对应的是LDMIA,这样这两个操作就能够成功配对

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/256498.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部