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