PC,[R13],#0x0004 是什么意思?

lyteyungs 2013-10-31 08:42:19
PC,[R13],#0x0004,r13是sp,现在在sp指向的地址上取出值再+4让后付给pc,我这样理解应该不错吧?可是pc是地址,把[sp]+4 赋给他有什么用??
...全文
312 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我核对了一下,确实是后修改基址寄存器。
子善旬 2013-11-02
  • 打赏
  • 举报
回复
arm asm中,PC 表示寄存器 ldr PC,[R13],#0x0004 是arm的后变址寻址方式,等价于 ldr r0, [r13] add r13, r13, #4 b r0 给pc赋值,就是跳转
axx1611 2013-11-01
  • 打赏
  • 举报
回复
这说明[sp]也是个地址,比如函数返回地址
  • 打赏
  • 举报
回复
具体来说,应该相当于x86架构中的ret n指令。
  • 打赏
  • 举报
回复
引用 楼主 lyteyungs 的回复:
PC,[R13],#0x0004,r13是sp,现在在sp指向的地址上取出值再+4让后付给pc,我这样理解应该不错吧?可是pc是地址,把[sp]+4 赋给他有什么用??
由于你没有给出操作码,假设是ldr, ldr PC,[R13],#0x0004 这个指令操作是: r13 = r13 + 4 [r13]->pc 意义应该是从栈中弹出返回地址。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧