3.1. Директива EQU
Простейшая команда препроцессора.
Синтаксис:
name1 equ name2
Это команда говорит препроцессору, что необходимо заменить все последующие name1 на name2.
Например:
count equ 10 ; это команда препроцессора
mov ecx, count
преобразуется в:
mov ecx, 10
Ещё пример:
mov eax, count
count equ 10
mov ecx, count
преобразуется в:
mov eax, count
mov ecx,10
потому что препроцессор заменит count только после директивы equ.
Даже это работает:
10 equ 11
mov ecx, 10
после обработки препроцессором, получим:
mov ecx, 11
Обратите внимание, name1 может быть любым идентификатором. Идентификатор — это всего лишь набор символов, завершаемый пробелом (space), символом табуляции (tab), концом строки (EOL), комментарием ;, символом переноса строки или оператором, включая операторы ассемблера и/или специальные символы вроде , или }.
name2 может быть не только единичным идентификатором, берутся все символы до конца строки. name2 может и отсутствовать, тогда name1 будет заменен на пустое место.
Например:
10 equ 11, 12, 13
db 10
получим:
db 11, 12, 13