本文共 523 字,大约阅读时间需要 1 分钟。
为什么会有⼤⼩端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着⼀个字节,⼀个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处理器还可以由硬件来选择是⼤端模式还是⼩端模式。
转载地址:http://plxrb.baihongyu.com/