gpt4 book ai didi

assembly - x86 指令帮助 : MOV [edx], eax

转载 作者:行者123 更新时间:2023-12-04 13:23:40 38 4
gpt4 key购买 nike

我正在阅读一本描述 C 链表以及它们如何在 x86 ASM 中表示的书。我很难理解说明 MOV [edx], eax .

如果指令被反转,MOV eax, [edx] ,我会理解它的意思是复制由存储在edx中的内存地址表示的4个字节并将其存储在eax中。

什么 MOV [edx], eax代表?

如果使用 []MOV指令,我认为这意味着将驻留在内存地址的数据复制到它的目的地。如果这是真的,你怎么能复制 eax 中的任何内容?到 edx 中的数据值?

最佳答案

这是英特尔汇编语法。在 Intel 汇编语法中,目标始终是第一个操作数,其余操作数是源操作数。 x86 的另一个常用汇编语法是 AT&T,但由于 Intel 和 AT&T 语法看起来非常不同,因此很容易区分。
mov [edx],eax存储 eax 的值在内存中,到 edx 中给出的地址(以小端字节顺序)。
mov eax,[edx]正好相反,从 edx 中给出的地址读取存储在内存中的值。 ,并将其存储在 eax .
[reg]总是表示间接寻址,就像一个指针*reg在 C。

复制eax的内容至 edx ,您只需要mov edx,eax .目标是第一个操作数,源是第二个操作数。

关于assembly - x86 指令帮助 : MOV [edx], eax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016610/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com