关于有效立即数的问题,请高手帮忙解答一下

2019-10-15 17:59发布

如题,ARM汇编指令中使用到的立即数是是由一个8位的立即数循环左移偶数位得到,所以并不是每一个立即数都是有效立即数。但是我刚才发现使用如下指令:MOV R0,#0xfffffffe
编译通过,结果正确。我不明白,这个立即数0xfffffffe是如何由“一个8位的立即数循环左移”得到的,还请大家帮忙答疑解惑一下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
teczm
2019-10-16 18:25
shikihane 发表于 2017-1-9 14:56
代码上写的,跟实际汇编出来的机器码并不一定是一致的。如果无法用移位得到该立即数,汇编器会帮你开文字池 ...

不赞同你的说法,我这个汇编用到的指令是MOV不是LDR,非有效立即数会直接报错的,如果照你这么说非有效立即数就不会报错了,但是实际上并非如此。至于你说的这个文字池处理,我不了解,不知道是否有相关资料可以分享参考一下,谢谢。

一周热门 更多>