是Dword还是一个词还是两个词

时间:2013-04-14 17:39:27

标签: assembly integer

我是汇编语言的新手

可以将-123,456编号存储在一个单词中吗?

-123,456在Dword的范围内,但是如果Dword是一个单词还是两个单词我会感到困惑 因为Dword用于32位字

2 个答案:

答案 0 :(得分:2)

单词“word”的问题在于它非常含糊不清。它曾经是指计算机的“原生单词大小”。早年到处都是这个地方。奇怪的尺寸,6的倍数很受欢迎,如18和36位。那时候每个人都明白“单词”没有说明位数。直到很久以后,术语“字节”才得到意义。

当微处理器出现时,这种情况发生了变化,首先是8位和16位。 “单词”必须与“16位”同义。这持续了很长时间,直到32位处理器变得普遍。处理器如386,其原始字大小为32位,但仍可以处理16位数量。因此,为了避免破坏大量的假设,并保持至少一些现有的汇编代码兼容,他们必须为32位的数量提出一个新词。这变成了“dword”,双字或2 x 16位。并且“单词”保持16位,即使它现在与原始单词大小无关。

答案 1 :(得分:1)

单词的大小是特定于体系结构的。它们通常指的是ISA本身处理的单元。如果是Doubleword或DWORD,它只是一个单位,其大小是单词大小的两倍。

因此,如果您正在谈论一个字大小为16位的架构(例如Intel 8086),那么DWORD可以容纳32位信息。由于-123456是FFFE1DC0(符号扩展为32位),它确实可以存储在一个DWORD中。