[quote=引用 4 楼 inurlcn 的回复:] 大哥 别误导人啊, adr真的只是简单的把pc+偏移量赋给r0,不是地址内容啊。 我找到原因了, 是keil调试器显示的问题,不知道怎么解释。 反正在debug时候显示的汇编指令和反汇编时候显示的汇编指令不一样,但是机器码是一样的.
大哥 别误导人啊, adr真的只是简单的把pc+偏移量赋给r0,不是地址内容啊。 我找到原因了, 是keil调试器显示的问题,不知道怎么解释。 反正在debug时候显示的汇编指令和反汇编时候显示的汇编指令不一样,但是机器码是一样的.
你把反汇编多贴出来点,在0x0800D944这个位置的内容应该是0x0800D990. pc是当前指令+8,所以pc+4应该是0x0800D944,而adr不是将pc+偏移量赋给目标寄存器,而是把pc+偏移量所指向地址的内容赋给目标寄存器。
21,458
社区成员
41,601
社区内容
加载中
试试用AI创作助手写篇文章吧