Как очистить переменную в ассемблере? - PullRequest
0 голосов
/ 23 октября 2011

Я использую переменную BYTE в ассемблере для хранения частичных операторов, прежде чем они будут скопированы в постоянное местоположение. Я пытаюсь понять, как я могу очистить это после каждой новой записи. Я попытался переместить пустую переменную в нее, но это заменило только первое символьное пространство переменной. Любая помощь будет высоко ценится, спасибо!

Ответы [ 3 ]

3 голосов
/ 23 октября 2011

Используйте XOR вместо MOV. Это быстрее.

XOR r1, r1
1 голос
/ 23 октября 2011

Просто поместите в него константу:

mov AL, 0h

Если вы хотите очистить 16-битный регистр:

mov AX, 0h

Или 32-битный:

mov EAX, 0h

Или, если вы имеете в виду именованную часть памяти:

mov [var], 0h
0 голосов
/ 23 октября 2011

Для переменной (при условии, что ваша переменная хранится в памяти):

mov var1, 0

Для массива (насколько я понял, это то, о чем вы говорите?):

xor al, al
lea edi, var1
mov ecx, <var1_array_size>
cld
rep stosb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...