gpt4 book ai didi

assembly - 这条指令有什么作用( REP MOVS BYTE PTR ES :[EDI], BYTE PTR DS : )?

转载 作者:行者123 更新时间:2023-12-03 06:41:00 24 4
gpt4 key购买 nike

我正在查看 Intel-x86 程序跟踪并遇到此指令

REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:

我知道
REP MOVS

导致 MOV 指令运行由 ECX 寄存器中的值指定的次数,在我的例子中是 0x2b。

我知道
BYTE PTR

正在确定信息的大小,在这种情况下只是一个字节。

我知道
ES:[EDI]

告诉将 BYTE PTR DS: 中的任何内容移动到 EDI 指向的地址。

我不知道逗号后面的部分是做什么的。
BYTE PTR DS:

问题:

PTR指令为什么要这样做?为什么不只是
REP MOVS BYTE ES:[EDI]. BYTE DS:

ES和DS对应的是什么?

谢谢

最佳答案

指令似乎并没有就此结束。我今天刚刚在 OllyDBG 中遇到了这个指令,我可以调整指令列的大小以显示指令的其余部分。

00499B3A  |. F3:A4          |REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]

现在我们知道完整的指令是,但我仍然不知道这个指令是做什么的。所以我从 here 中取出了 Intel 指令集引用手册并搜索操作码 F3:A4
在手册中,它描述了这个操作码如下:

Move (E)CX bytes from DS:[(E)SI] to ES:[(E)DI].

关于assembly - 这条指令有什么作用( REP MOVS BYTE PTR ES :[EDI], BYTE PTR DS : )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23770896/

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