Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 德沃德还是一个词还是两个词_Assembly_Integer - Fatal编程技术网

Assembly 德沃德还是一个词还是两个词

Assembly 德沃德还是一个词还是两个词,assembly,integer,Assembly,Integer,我不熟悉汇编语言 号码-123456可以存储在一个字中吗 -123456在Dword的范围内,但我不知道Dword是仍然是一个单词还是两个单词 由于Dword用于32位字,因此字的大小是特定于体系结构的。它们通常指ISA本机处理的单元。对于双字或双字,它只是一个单位,其大小是一个字大小的两倍 因此,如果您谈论的是一个字大小为16位的体系结构(例如Intel 8086),那么DWORD可以保存32位的信息。由于-123456是FFFE1DC0(带有32位的符号扩展),它确实可以存储在一个DWORD

我不熟悉汇编语言

号码-123456可以存储在一个字中吗

-123456在Dword的范围内,但我不知道Dword是仍然是一个单词还是两个单词
由于Dword用于32位字

,因此字的大小是特定于体系结构的。它们通常指ISA本机处理的单元。对于双字或双字,它只是一个单位,其大小是一个字大小的两倍

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

单词“word”的问题在于它非常模糊。它过去的意思是计算机的“本机字号”。早年到处都是。同样奇怪的是,6的倍数也很流行,比如18位和36位。当时每个人都明白“单词”并没有说明比特数。“字节”一词直到很久以后才有了意义


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

您没有说您使用的是哪种汇编语言。不同的处理器对术语“dword”有不同的含义。正如其他人所说,它意味着处理器和语言架构师所说的任何含义。在某些情况下,dword和word的大小相同,在其他情况下则不同。谢谢,我只是有点搞不清楚dword是否仍然是一个单词,因为它读了两倍word@user1763658他们通常指的是同一件事。