如果Word是特定处理器使用的自然数据单元,那么在x86处理器中它是4个字节,那么为什么在NASM和其他汇编器中DW(定义字)分配2个字节的内存而不是4个字节?
答案 0 :(得分:4)
由于历史原因。 x86系列最初是一个16位架构(8086)。那是定义指令集的时间,所有其他处理器必须向后兼容。
80386是x86系列中的第一个32位处理器。
BTW我正在写assembler tutorial,我想我会把你的问题作为一个例子。谢谢!
答案 1 :(得分:1)
这是由于历史原因。 x86处理器系列的第一个成员是8086,而8086则主要是16位处理器。
作为历史旁注,原来字节意味着单词,因为起初,计算机只有一个宽度的数据可以处理,而字节就是那个宽度,那个宽度也被称为字符(这就是为什么一个字节在C)中称为char
。然后计算机增长了,事情已成为事实上的标准......