Комментарий макроопределения (;;)

Пример:   IRP R,<AX,BX> ;; восстановление регистров POP R ENDM     POP AX POP BX    

Директива LOCAL

LOCAL v1, …, vk

vi – имена, используемые в макроопределении (метки).

Макрогенератор будет заменять эти имена на специальные имена вида??хххх, где хххх – четырехзначное шестнадцатеричное число.

Пример:   mRepeat macro char, count local L1 mov cx,count L1:mov ah,2 mov dl,char int 21h loop L1 endm    

mRepeat ‘A’,10

mov cx,10

??0000:mov ah,2

mov dl,’A’

int 21h

loop??0000

mRepeat ‘*’,20

mov cx,20

??0001:mov ah,2

mov dl,’*’

int 21h

loop??0001

Директивы условного ассемблирования

<IF-директива> <фрагмент-1> ELSE <фрагмент-2> ENDIF   <IF-директива> <фрагмент-1> ENDIF  

Директивы IF и IFE

IF <константное выражение>

IFE <константное выражение>

Пример:

SHIFT MACRO X,N IFE N-1 SHR X,1 ELSE MOV CL,N SHR C,CL ENDIF ENDIF    

Директивы IFIDN и IFDIF

IFIDN <t1>, <t2>

IFDIF <t1>, <t2>

Пример:

SHIFT MACRO X,N IFE N-1 SHR X,1 ELSE MOV CL,N SHR C,CL ENDIF ENDIF    

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: