机器WORD总是相同还是取决于机器架构?单词WORD的含义是上下文敏感的还是普遍适用的?
9 回答
机器字长取决于架构,还取决于操作系统运行应用程序的方式。
例如,在 Windows x64 中,应用程序可以作为 64 位应用程序(具有 64 位机器字)或 32 位应用程序(具有 32 位机器字)运行。因此,即使在同一台机器上,机器字的大小也可能不同。
该术语WORD
具有不同的含义,具体取决于它的使用方式。它可以表示机器字,也可以表示具有特定大小的类型。在 x86 汇编语言中WORD
,DOUBLEWORD
( DWORD
) 和QUADWORD
( QWORD
) 用于 2、4 和 8 字节大小,而与机器字长无关。
一个字通常是 CPU 的“本机”数据大小。也就是说,在 16 位 CPU 上,一个字是 16 位,在 32 位 CPU 上,它是 32 位,依此类推。
当然,x86 是个例外,其中一个字是 16 位宽(因为 x86 最初是一个 16 位 CPU),一个 DWORD 是 32 位(因为它变成了一个 32 位 CPU),而一个 QWORD 是64 位(因为它现在有 64 位扩展)
这取决于机器架构。本文档解释了有关此的一些基础知识。
是的。
好的,让我更清楚一点。假设我们谈论的是记忆词,有两个广义的定义。
首先,一个词通常是可以在硬件中原子访问的单个项目的自然大小。这很大程度上取决于平台的大小,但通常是 16、32 或 64 位,但在野外也发现了其他大小。
其次,它通常用于专门表示 16 位值。在这种情况下,您将看到 DWORD 用于表示 32 位值。这种用法在 x86 平台上很常见,尤其是 Windows,但也用于 DEC PDP-11 和 VAX,以及摩托罗拉 68000 的后代。
判断哪个是预期用途取决于上下文......
WORD
是Windows 特定的 16 位整数类型,并且与硬件无关。
如果您的意思是机器词,则无需大喊大叫。
一个字的 16 位(2 个字节)对于 x86 来说是通用的。
我的理解是,一个 WORD 是可以通过一个动作(在特定机器上)推入 CPU 的位数,因此在 8 位架构中它是 8 位,而在现代 64 位架构中它是 64 位.
你们这些年轻人都在谈论 32 位 this 和 64 bit that:你知道,除了 x86 系列之外,还有其他机器架构。例如,PDP-11 有 40 位字。
但最简单的答案就是搜索Wikipedia。
小写字母的“单词”取决于架构。
Windows SDK 中定义的大写字母“WORD”为 16 位。
类似地:“DWORD”-(双字)32 位。"QWORD" ... 64 位。