arm 堆栈设置,SP为何要减4

[复制链接]
3882|5
 楼主| busdriver 发表于 2014-3-29 09:48 | 显示全部楼层 |阅读模式
如代码
    /* setup the stack pointer */
    ldr sp, _IRAM_STACK_
    sub sp, sp, #4
    bic sp, sp, #7
谢谢
jplzl 发表于 2014-3-29 13:39 | 显示全部楼层
去找找ARM栈操作的相关说明吧
STMFD (STMDB) LDMFD (LDMIA)
STMFA (STMIB) LDMFA (LDMDA)
STMED (STMDA) LDMED (LDMIB)
STMEA (STMIA) LDMEA (LDMDB)
 楼主| busdriver 发表于 2014-3-30 12:27 | 显示全部楼层
帮忙说明下,给分啊
smallbright 发表于 2014-3-30 21:52 | 显示全部楼层
减一是一个字节,一个字节是8位,减4是4个字节,四个字节是32位。ARM指令处理的是32位的,如果是Thumb指令的话就是减2了,明白了吗??
ayb_ice 发表于 2014-3-31 08:47 | 显示全部楼层
堆栈永远是4字节对齐的,手册不说的很清楚吗
黄小俊 发表于 2014-4-1 16:07 | 显示全部楼层
路过学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

416

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部