ARM存储器中有6种数据类型,即8位字节、16位半字和32位字的有符号和无符号数。ARM处理器的内部操作都面向32位操作数,只有数据传送指令(STR, STM, LDR,LDM)支持较短的字节和半字数据。
ARM存储器支持两种端序,即大端序和小端序。端序选择由硬件引脚接线决定,默认的端序设置为小端序。存储器中每一个字节都有唯一的地址。字节可以占有任一位置;半字占有两个字节位置,该位置开始于偶数字节边界地址;字以4字节的边界对准。
1、ARM体系结构V4以上版本支持字节、半字和字,ARMV4以前的版本仅支持字节和字。
2、当将这些数据类型中的任一种说明成unsigned类型时,N位数据值表示范围为0-2n-1的非负整数,使用通常的二进制格式。
3、当将这些数据类型的任一种说明成signed类型时,N位数据值表示范围为-2n-1—2n-1-1的整数,使用二进制的补码格式。
4、所有数据操作,例如ADD, AND,以字进行处理。
5、加载和存储操作可以字节、半字和字的大小同存储器之间传送数据。加载时自动进行字节或半字的零扩展或符号扩展。
6、ARM指令恰好是一个字(与4字节边界对准),Thumb指令恰好是一个半字(与2字节边界对准)。
7、给出的是标准的“小端序”的三种存储格式,ARM也可以通过硬件接线或者寄存器设置配置成为“大端序”格式的存储器。
文章由供应商小编原创,转载请注明文章来源出处,谢谢合作!
阅读(2832) | 评论(0) | 转发(0) |