关于对齐中word-aligned,word,dword,Half-Word等容易混淆的一些概念的随笔

Posted 狂奔De鸵鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于对齐中word-aligned,word,dword,Half-Word等容易混淆的一些概念的随笔相关的知识,希望对你有一定的参考价值。

在开发过程中常常遇到一个字这种单位,那么一个字到底是个什么概念呢?

在计算机中最基础的单位是一个位(bit),而8个bit组成了一个字节(byte),这是最基础的概念,

但字这个单位却不同,它的大小取决于它所在的硬件平台与编译器:

首先我们常常说的 一个字word 占用2个字节 dword 就是4个字节,这个是基于X86平台的Windows环境。

例如在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef unsigned long       DWORD;

可见头文件的名字也是WINDEF.H。

以上这种概念基本上只要不是嵌入式开发都是正确的,什么JAVA,C#,C++ For WIndows都没问题,但在嵌入式编程中却又不同。

对于ARM架构的MCU来说

字(Word):字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。

半字(Half-Word):半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。

字节(Byte):32位/8位/16位处理器体系结构中,字节的长度均为8位。

ARM 采用的是32位架构.
ARM 约定:
Byte : 8 bits
Halfword :16 bits (2 byte)
Word : 32 bits (4 byte)
 

以上是关于关于对齐中word-aligned,word,dword,Half-Word等容易混淆的一些概念的随笔的主要内容,如果未能解决你的问题,请参考以下文章

关于对齐中word-aligned,word,dword,Half-Word等容易混淆的一些概念的随笔

关于对齐中word-aligned,word,dword,Half-Word等容易混淆的一些概念的随笔

Android 逆向x86 汇编 ( align | db | dw | dd | nop | 伪指令 )

Android 逆向x86 汇编 ( align | db | dw | dd | nop | 伪指令 )

敲敲黑板 | 文字垂直方向对齐这样设置!

关于文本设置overflow:hidden后引起的垂直对齐问题