这是我的程序和对应的反汇编窗口,用是32位的MCU,程序中mov,cmp这些指令对应的PC值都是+4的,即执行完一条mov执行PC值加4,但是我不明白为什么执行完B指令时
对应的PC值是+2呢??比如b mothod_init这条指令的地址为0x0000142,紧挨着下面的b mothod_0对应的地址就是0x0000144,而程序第一句中mov r1,#0对应的的地址是
0x0000130,而mov r0,#testVari对应的地址则是0x00000134。
出现上述问题难不成执行mov是arm指令集,而b则是执行的thumb指令集,处于thumb状态下?
|