ARM微处理器的编程模型之:数据类型
3.1.3 存储器大/小端
从软件角度看,内存相对于一个大的字节数组,其中每个数组元素(字节)都是可寻址的。
ARM支持大端模式(big-endian)和小端模式(little-endian)两种内存模式。
图3.2和图3.3分别显示了内存的大端模式和小端模式。
图3.2 大端模式
图3.3 小端模式
下面的例子显示了使用内存大/小端(big/little endian)的存取格式。
【例3.1】
程序执行前:
r0=0x11223344
执行指令:
r1=0x100
STR r0,[r1]
LDRB r2,[r1]
执行后:
小端模式下:r2=0x44
大端模式下:r2=0x11
上面的例子向我们提示了一个潜在的编程隐患。在大端模式下,一个字的高地址放的是数据的低位,而在小端模式下,数据的低位放在内存中的低地址。要小心对待存储器中一个字内字节的顺序。
评论