JAW*_*025 5 x86 assembly 32-bit nasm cpu-registers
我一直在尝试在我的 Linux 操作系统上学习 32 位 Intel x86 nasm 语法程序集,我遇到了一个关于四个通用 32 位寄存器的问题。
从我一直思考,EAX是,本来要使用的32位寄存器与16位寄存器AX,其中又分为啊(高8位)和人(低8位)。ebx、ecx 和 edx 也是如此。
然而,在阅读了一篇快速文章后,我变得有点困惑。
32 位寄存器是否由 16 位寄存器(依次由两个 8 位寄存器组成)加上额外的 16 位组成?
到目前为止,我在谷歌上读到的所有结果都说明了它们的用途,而不是它们的实际组成。
你是完全正确的。通用寄存器的四个EAX,EBX,ECX和EDX组成如下(I用于本例中的储液器):
AX = AH || ALAX,它形成了双字。所以,EAX = EAX(31:16) || AX。RAX = RAX(63:32) || EAX.该||运营商是连接运算符。您应该注意,此规则不适用于其他四个通用寄存器ESP、EBP、ESI和EDI。
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |