第一次学习汇编,这是说一个字大小是8字节?

Joh*_*lly 12 size x86 assembly x86-64 cpu-word

当我打破主要时,它看起来像粗线是我正在创建和初始化的地方.我想我错了,我正试图从一本解释x86的书中检查x86_64程序集.这看起来很奇怪,我很确定我只是不明白,因为在本书中他说他会将单词和双字称为4字节.如果我能得到一个解释来帮助我的认知,我将不胜感激. __CODE__方法:http://ruby-doc.org/core-2.0.0/Enumerable.html#method-i-inject

gsg*_*gsg 20

用于描述x86架构中大小的术语是:

  • byte:8位
  • word:2个字节
  • dword:4个字节(代表"双字")
  • qword:8个字节(代表"四字")

这与"单词"的通常含义有些不一致:16位本质word是x86机器从16位起源演变而来的结果,而不是机器自然字大小的反映.出于兼容性原因word,即使在64位计算机上,操作数的大小也必须始终保持不变.

请注意,i程序中的变量是32位:您可以dword在相关的堆栈访问中查看大小注释.使用i更改为的类型重新编译程序可能很有帮助long int.

  • 值得注意的是,“l”(“长字”)与“movl”一样,也表示 4 个字节。 (3认同)