关于ARM立即数的表示范围?

问题描述:

关于ARM立即数的表示范围?
为什么用12bit来表示一个立即数,可以表示的范围为-2^31~2^31-1,只不过只能表示其中的2^12个数呢,书里这样说的,我理解不了...答的好有追加分.

这是为了把立即数跟指令凑到一个32bit里面,跟x86汇编比较不同,x86里面3字节、5字节、6字节长度的指令语句都有,而arm里面都是32位的,它的IP是32位对齐的,同时arm觉得没有必要再凑一个32位,所以才会有12bit这回事