⼤端(存储)模式,是指数据的低位保存在内存的⾼地址中,⽽数据的⾼位,保存在内存的低地址中;⼩端(存储)模式,指数据的低位保存在内存的低地址中,⽽数据的⾼位保存在内存的⾼地址中。
为什么有⼤端和⼩端:
为什么会有⼤⼩端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着⼀个字节,⼀个8bit。但是在C语⾔中除了8bit的char之外,还有16bit的short型, 32bit的long型(要看具体的编译器),另外,对于位数⼤于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度⼤于⼀个字节,那么必然存在着⼀个如果将多个字节安排的题。因此就导致了⼤端存储模式和⼩端存储模式。例如⼀个16bit的short型x,在内存中的地址为0x0010, x的值为0x1122,那么0x11为⾼字节, 0x22为低字节。对于⼤端模式,就将0x11放在低地址中,即0x0010中, 0x22放在⾼地址中,即0x0011
中。⼩端模式,刚好相反。我们常⽤的
X86
结构是⼩端模式,⽽
KEIL C51
则为⼤端模式。很
多的
ARM
,
DSP
都为⼩端模式。有些
ARM
处理器还可以由硬件来选择是⼤端模式还是⼩端
模式。