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