电子设计一站式学习平台

PCB联盟网

搜索
查看: 115|回复: 0
收起左侧

萌新求问

[复制链接]

308

主题

842

帖子

3060

积分

四级会员

Rank: 4

积分
3060
发表于 2022-11-28 13:09:14 | 显示全部楼层 |阅读模式
刚学到汇编,遇到了两个问题,:
1.关于LDR伪指令的PC指针:

萌新求问-1.jpg



对于LDR R1,=0X12345678这条伪指令,反汇编为LDR R1,[PC](反汇编中红线标出),根据ARM三级流水线:PC永远指向正在取指的指令,PC=正在执行的指令的地址+8,也就是说执行到LDR R1,[PC]这条指令时,PC=0X08,且这条指令的作用是将PC中的内容 即12345678取出,并放到R1寄存器;观察左边:R1也确实被写入了0X12345678,可我的困惑是,执行完这条指令后,PC不是又自增4,指向0X0C了吗,为啥左边R15的值是0X04呀
感觉怎么都不会是4呀
萌新求问-2.jpg


2.反汇编里机器码后面跟的都是指令吗,如果是,那么NOP既然是伪指令,为啥会出现在反汇编里,而且我无论写NOP还是MOV R0,R0,它都给我替换成NOP,为什么不是MOV R0,R0


萌新求问-4.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表