ARM汇编笔记
- 进入函数时会把
SP
赋值给FP (X29)
,然后开始往SP
存数据 BFM
后两个数都是位置索引例如#3, #31
,BFX
后两个数第一个是位置索引,第二个是宽度MOV W0, W0
会清空高32位,所以和UXTW X0, W0
等价,但无法代替SXTW
- 汇编中的标签就等于地址,
LDR
的标签或常量地址前面加了=
时,汇编器会在附近的常量池存放这个地址,然后把这个地址的地址替换到LDR
中,加载到寄存器的,就是那个标签地址或常量地址 - 使用常量偏移量时,
LDUR
的范围是-256 ~ 255
,LDR
的范围是0 ~ 4095
,LDR
的常量偏移量会根据传输寄存器(Xt或Wt)来决定乘以8或者4,LDRB
的乘以1,LDRH
的乘以2,以此类推,STR
也是基本对应 - 前后索引寻址模式偏移范围是
-256 ~ 255
,LDUR
不支持前后索引寻址
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 曹尼玛
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
音乐天地