WORD有多少位,在不同的架构上是不变的?

时间:2009-03-07 10:44:02

标签: data-structures assembly naming cpu-architecture

机器 WORD 是否始终相同,还是取决于机器架构? WORD 这个词的含义是上下文敏感的还是普遍适用的?

9 个答案:

答案 0 :(得分:30)

机器字大小取决于体系结构,还取决于操作系统如何运行应用程序。

例如,在Windows x64中,应用程序既可以作为64位应用程序(具有64位mahine字)运行,也可以作为32位应用程序(具有32位机器字)运行。因此,即使在同一台机器上,机器字的大小也会有所不同。

术语WORD具有不同的含义,具体取决于它的使用方式。它可以表示机器字,也可以是具有特定大小的类型。在x86汇编语言WORD中,DOUBLEWORDDWORD)和QUADWORDQWORD)用于2,4和8字节大小,无论机器如何字大小。

答案 1 :(得分:12)

单词通常是CPU的“本机”数据大小。也就是说,在16位CPU上,一个字是16位,在32位CPU上,它是32,依此类推。

当然,例外是x86,其中一个字是16位宽(因为x86最初是16位CPU),DWORD是32位(因为它变成了32位CPU),并且QWORD是64位(因为它现在有螺栓连接的64位扩展名)

答案 2 :(得分:3)

这取决于机器架构。 This文档解释了一些有关此问题的基础知识。

答案 3 :(得分:2)

好的,让我更清楚一点。假设我们在谈论记忆的话,有两个广泛的定义。

首先,单词通常是单个项目的自然大小,可以在硬件中以原子方式访问。这是一个非常依赖于平台的大小,但通常是16位,32位或64位,但在野外发现了其他大小。

其次,它通常用于具体表示16位值。在这种情况下,您将看到DWORD用于表示32位值。这种用法在x86平台上很常见,尤其是Windows,但在DEC PDP-11和VAX以及Motorola 68000后代也使用过。

说明预期用途取决于具体情况......

答案 4 :(得分:2)

WORDWindows specific 16-bit integer type,与硬件无关。

如果你的意思是机器字,那就没必要喊了。

答案 5 :(得分:1)

对于x86,

16位(2字节)是通用的。

答案 6 :(得分:1)

我的理解是WORD是可以通过一个动作(在特定机器上)推入CPU的位数,因此在8位架构中它是8位,在现代64位架构上它是64位。

答案 7 :(得分:1)

你们所有的年轻人都大约32位这样和64位:你知道,除了x86系列之外,还有其他的机器架构。 PDP-11有40位字,即实例。

但最简单的答案就是搜索Wikipedia

答案 8 :(得分:1)

小写字母“单词”取决于架构。

Windows SDK中定义的大写字母“WORD”为16位。

类似地: “DWORD” - (双字)32位。 “QWORD”...... 64位。