stosd 如何在汇编中工作?

How stosd works in assembly?

抱歉这个问题..只是想了解当 EAX 为零时 stosd 在汇编中的工作方式

mov ecx, 41
lea edi, [variable]
xor eax, eax
rep stosd

我正在使用这些指令调试恶意软件,并且在每个 stosd 中,我可以看到 windows 在转储中跟踪 edi 时,目录路径即将到来。

但是当 EAX 为零并且没有引用任何变量时,这些目录是从哪里来的?

您看到 已经 存储在 edi 指向的数组中,before 每个 stosd用零覆盖它们。

stosd writes eax to edi and increments it by four(假设未设置 DF 标志,通常是这种情况)。

该片段相当于 memset(variable, 0, 41*4)