单片机/MCU论坛
直播中

abdkjshd

8年用户 1090经验值
擅长:可编程逻辑
私信 关注
[问答]

在STM32中keil软件的仿真怎么查看程序的汇编呢?

如这个LED0=0,这条语句,它的汇编翻译如图,前面是地址,那这个2000是什么?后面是MOV我知道,就是想问下地址后面的这个代表什么意思?490B,F04F0001代表什么含义?是一句汇编的二进制形式(机器码)的十六进制表示吗?如果是F04F0001好像太长了,超出32位了。有没有大神来解答下?
2.jpg

回帖(1)

jsqueh

2023-3-24 09:58:02
LED0=0这条C指令编译器把它转换成了3条汇编指令MOVS、LDR、STR,这三句汇编分别对应的机器码就是2000、490B、6008。
图中,0x08。。。是CODE地址,然后该地址开始的机器码,最后就是这个机器对应的汇编语句。
F04F0001是对应汇编的机器码,你不用关心它的长度,有兴趣的可以去查汇编指令表,其中有对应机器码的格式
举报

更多回帖

发帖
×
20
完善资料,
赚取积分