端(Endian)是指保存在存储器中的字节顺序。根据字节在存储器中的保存顺序,将其划分为小端(Little Endian)和大端(Big Endian)。
(1)小端。
对一个32位字长的数据来说,最低字节保存该数据的第0位至第7位,如图2.21(a)所示,也就是我们常说的“低址低字节,高址高字节”。
(2)大端。
对一个32位字长的数据来说,最低字节保存该数据的第24位至第31位,如图2.21(b)所示,也就是我们常说的“低址高字节,高址低字节”。
图2.21 Cortex0-M0+小端和大端定义
对Cortex-M0+处理器来说,默认支持小端。然而,端概念只存在硬件这一层。
思考与练习2.17:请说明在Cortex-M0+处理器中,端的含义。
思考与练习2.18:请说明大端和小端的区别。