嵌入式ARM汇编伪指令问题,急求贵人相助!!!

励志の空想家 2019-03-22 02:58:54
题中的LDR R1,=MyData执行后,是把MyData的值赋给R1,还是讲MyData的地址赋给R1,始终弄不懂最后的结果是怎么出来的,求大神相助!!!
...全文
256 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
励志の空想家 2019-03-25
  • 打赏
  • 举报
回复
嗯嗯,谢谢啦,这个问题已经解决啦
  • 打赏
  • 举报
回复
LDRH R0,[R1,#2]就相当于x86的mov ax, word ptr [ebx+2]
====================================
呃,这句写错了,应该是相当于movzx eax, word ptr [ebx+2]
  • 打赏
  • 举报
回复
LDRH R0,[R1,#2]就相当于x86的mov ax, word ptr [ebx+2]
就是把r1+2那个地址的一个16位字0扩展装入r0,因为r1之前已经指向mydata的地址,mydata地址开始的32位字是0x01234567,因为是小端模式,四字节从低到高地址分别是67 45 23 01


励志の空想家 2019-03-22
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争的回复:
ldr str是内存访问指令,是从内存读数据到寄存器或者从寄存器写到内存
这我知道,但我不懂这题里的LDRH R0,[R1,#2]不应该是将R1+2的值作为地址所指向的存储器里的值赋给R0嘛,可为啥直接将R1的值的半字(前16位)给了R0
  • 打赏
  • 举报
回复
ldr str是内存访问指令,是从内存读数据到寄存器或者从寄存器写到内存

21,459

社区成员

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

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