找回密码
 注册
关于网站域名变更的通知
查看: 245|回复: 2
打印 上一主题 下一主题

arm的保护现场,不选择R4-R11?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-29 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为什么保护现场时,总是保护 R0-R3,R12,为什么不保护R4-R11
! N3 q, [4 a5 S5 u  `- ^0 e1 z! U. r

该用户从未签到

2#
发表于 2022-9-29 11:14 | 只看该作者
可以看一看"ARM-thumb 过程调用标准"这个文档。讲的详细。
+ G/ T% j$ l7 l8 y  j: P2 R/ M- F2 R' T  t. S6 g/ J
使用寄存器 r0-r3 将参数值传送到函数,并将结果值传出。可以用 a1-a4 来引用 r0-r3。在子程序调用之间,可以将 r0-r3 用于任何用途。被调用函数在返回之前不必恢复 r0-r3。9 @5 g. A- V$ o
如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。
, W: ^: {2 u! q4 z- 使用寄存器 r4-r11 存放函数的局部变量。可以用 v1-v8 来引用这些寄存器,以使此用法透明。在 Thumb 状态下,在大多数指令中只有寄存器 r4-r7 可以用于局部变量。; ?; h5 _8 y/ T  M  {2 S
如果被调用函数使用了这些寄存器,它在返回之前必须恢复这些寄存器的值。
- W$ ]0 d! y2 V3 n' i- 寄存器 r12 是内部调用暂时寄存器 ip。它在过程链接胶合代码中用于此角色。在过程调用之间,可以将它用于任何用途。被调用函数在返回之前不必恢复 r12。

该用户从未签到

3#
发表于 2022-9-29 11:23 | 只看该作者
ATPCS 是指定用于特殊用途的寄存器。
- i! l& [  i8 O; {% o, h9 Kr0-r3是自变量/结果/暂时寄存器
" v! n% Y! c/ d7 }6 V/ S( Sr12是内部过程调用暂时寄存器。不要用错了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-30 11:30 , Processed in 0.093750 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表