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
上面的例子向我們提示了一個潛在的編程隱患。在大端模式下,一個字的高地址放的是數據的低位,而在小端模式下,數據的低位放在內存中的低地址。要小心對待存儲器中一個字內字節的順序。
評論