如何在汇编程序中清除变量?

时间:2011-10-23 02:18:38

标签: x86 assembly

我在汇编程序中使用BYTE变量来保存部分语句,然后将它们复制到永久位置。我试图找出每次新进入后如何清除它。我尝试将一个空变量移入其中,但这只替换了变量的第一个字符空间。非常感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:3)

使用XOR而不是MOV。它更快。

XOR r1, r1

答案 1 :(得分:1)

只需将常量移入其中:

mov AL, 0h

如果要清除16位寄存器:

mov AX, 0h

或32位:

mov EAX, 0h

或者,如果你的意思是命名的记忆部分:

mov [var], 0h

答案 2 :(得分:0)

对于变量(假设你的var存储在内存中):

mov var1, 0

对于一个数组(据我所知,这就是你在说什么?):

xor al, al
lea edi, var1
mov ecx, <var1_array_size>
cld
rep stosb