字,双字,四字

Vil*_*ilo 1 linux x86 assembly

这是我的第二个问题,一个接一个。这也是汇编(x86-32bit)的问题。

“从头开始编程”说4字节是32位,这是一个词。但是英特尔的《基本架构》指南说,该字是16位(2个字节),而4个字节是一个双字。内存使用4个字节的单词,要转到另一个单词,我必须跳过接下来的4个字节,在每个单词上我可以做4个偏移量(0-3)来读取一个字节,因此Intel名称是错误的,但是此内存定义来自Intel ,那有什么不好呢?

以及如何在汇编中对单词,双字,四字进行操作?如何将数字定义为四字?

Lub*_*nov 5

为了回答您的第一个问题,处理器字长是体系结构的函数。因此,32位处理器具有32位字。在包括汇编的软件类型中,通常需要明确标识大小,因此出于历史原因,字类型为16位。因此,如果您在上下文中阅读它们,那么这两个来源可能都是正确的:第一个来源是指处理器单词,而英特尔指南则是指单词类型。

  • 在x86中,`word` _never_是指理论上的32位处理器字。 (2认同)