首先,32位cpu每次跟内存进行交换时,是以32bit为单位。所以,它的每条指令长度都是32位
在ARM体系架构中,是以字节为单位进行编址的,例如0x0000-0x0004它的差是4,但是这个4是十六进制下的4,
我们需要转化为十进制下的4,这里是4个字节,一共是32位,所以对于内存空间的这种排布,看到0x0000-0x0004
不是说指令只存放在最后的几位,这里只需要计算出差,转化为十进制下的差,差的意思就是中间的这些范围都被占用了,也就是实际存放指令的是四个字节,一共32位
如果是0x0000-0xffff那么差是ffff转化为十进制是65536个字节---64k
而最后的结果是二进制的,所以直接ffff---二进制2的16次方,等于64k
其中1k=1024byte,而不是等于1024bit
而如果是0x0000-0x0004十六进制下是4
直接转化为二进制2的2次方乘以8,一共是32bit
所以别扭的地方是1.0x0000-0x0004表达的意思只是存放指令的范围
2.这个范围还是用16进制表示的,通常需要转化为10进制下