【问题标题】:is Dword still a word or is it two word [duplicate]Dword仍然是一个词还是两个词[重复]
【发布时间】:2013-04-14 17:39:26
【问题描述】:

我是汇编语言的新手

数字-123,456可以存储在一个单词中吗?

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

【问题讨论】:

  • 您没有说您使用的是哪种汇编语言。不同的处理器对术语“dword”有不同的含义。
  • 正如其他人所说,它意味着处理器和语言架构师所说的任何含义。在某些情况下,dword 和 word 的大小相同,而在其他情况下则不然。

标签: assembly integer


【解决方案1】:

“词”这个词的问题在于它非常模棱两可。它曾经表示计算机的“本机字大小”。这在早年到处都是。尺寸也很奇怪,6 的倍数很流行,比如 18 位和 36 位。那时候大家都明白,“字”没有说比特数。直到很久以后,术语“字节”才有意义。

当微处理器出现时,情况发生了变化,首先是 8 位和 16 位版本。其中“word”必须与“16-bits”同义。这持续了很长时间,直到 32 位处理器变得普遍。像 386 这样的处理器,其原始字长为 32 位,但仍可以处理 16 位数量。因此,为了避免打破大量假设,并至少保持一些现有的汇编代码兼容,他们不得不想出一个新词来表示 32 位的数量。这变成了“dword”、双字或 2 x 16 位。并且“word”保持 16 位,尽管它现在与本机字大小无关。

【讨论】:

    【解决方案2】:

    单词的大小是特定于架构的。它们通常指的是 ISA 本地处理的单元。对于双字或双字,它只是一个单位,其大小是单词大小的两倍。

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

    【讨论】:

    • 谢谢,如果 Dword 仍然是一个单词,我只是有点困惑,因为它读取的是双字
    • @user1763658 他们通常指的是同一个东西。
    猜你喜欢
    • 2020-12-03
    • 1970-01-01
    • 2021-10-19
    • 2018-04-21
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2014-11-12
    相关资源
    最近更新 更多