Я использую переменную BYTE в ассемблере для хранения частичных операторов, прежде чем они будут скопированы в постоянное местоположение. Я пытаюсь понять, как я могу очистить это после каждой новой записи. Я попытался переместить пустую переменную в нее, но это заменило только первое символьное пространство переменной. Любая помощь будет высоко ценится, спасибо!
Используйте XOR вместо MOV. Это быстрее.
XOR r1, r1
Просто поместите в него константу:
mov AL, 0h
Если вы хотите очистить 16-битный регистр:
mov AX, 0h
Или 32-битный:
mov EAX, 0h
Или, если вы имеете в виду именованную часть памяти:
mov [var], 0h
Для переменной (при условии, что ваша переменная хранится в памяти):
mov var1, 0
Для массива (насколько я понял, это то, о чем вы говорите?):
xor al, al lea edi, var1 mov ecx, <var1_array_size> cld rep stosb