书上这么说:mov ro,#10000会替换为 ldr ro, =10000,然后这条ldr伪指令又替换为
ldr ro, [pc,#-4]
DCD 10000
我的问题是,为什么pc要-4而不是加4?我所猜想的是编译器先读取DCD指令然后再读取ldr指令,pc才会 -4,不知道我这样想对不对?
------解决方案--------------------
是增加的,增加多少,要看一条指令有多少位了。PC+1代表的就是读取下一条指令的地址,如果是单字节指令的话,运行完这个指令PC会自动加1,然后接着读取下一条指令,如果是双字节或者三字节指令,PC就是加2或者加3.