Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


INIT cseg,data,stac




 

В этом случае ассемблер обращается к файлу MACRO.LIB (в нашем примере) на дисководе С и включает в программу оба макроопределения INIT и PROMPT. В этом примере требуется только INIT. Ассемблерный листинг будет содержать копию макроопределения, отмеченного символом С в 30 4-й 0 колонке LST-файла. Следом за макрокомандой идет ее расширение с объектным кодом и с символом плюс (+) в 31 4-й колонке.

8. Символ (&) указывает ассемблеру на сцепление (конкатенацию) текста или символов. Следующая макрокоманда MOVE генерирует команду MOVSB или MOVSW:

 

MOVE MACRO TAG

REP MOVS&TAG

ENDM

 

Теперь можно кодировать макрокоманду в виде MOVE B или MOVE W. В результате макрорасширения ассемблер сцепит параметр с командой MOVS и получит REP MOVSB или REP MOVSW.

9. Ассемблер поддерживает ряд условных директив. Каждая директива IF должна иметь спаренную с ней директиву ENDIF для завершения IF-структуры и возможную директиву ELSE для альтернативного действия:

 

IF (условие)

Условный

Блок

ELSE

.

.

ENDIF

 

Отсутствие директивы ENDIF вызывает сообщение об ошибке. Если проверяемое условие истинно, то ассемблер выполняет условный блок до директивы ELSE или при отсутствии ELSE - до директивы ENDIF. Если условие ложно, то ассемблер выполняет условный блок после директивы ELSE, а при отсутствии ELSE вообще обходит условный блок.

Ниже приведены некоторые условные директивы:

 

IF выражение - Если выражение не равно нулю, ассемблер обрабатывает операторы в условном блоке.

 

IFE выражение - Если выражение равно нулю, ассемблер обрабатывает операторы в условном блоке.

 

IFIDN <арг-1>,<арг-2> - Если строка первого аргумента идентична строке второго аргумента, то ассемблер обрабатывает операторы в условном блоке. Аргументы должны быть в угловых скобках.

 

 

IFDIF <арг-1>,<арг-2> - Если строка первого аргумента отличается от строки второго аргумента, то ассемблер обрабатывает операторы в условном блоке. Аргументы должны быть в угловых скобках.

 

IFDEF идентификатор - Если идентификатор определен в программе, то ассемблер обрабатывает операторы в условном блоке.

 

IFNDEF идентификатор - Если идентификатор не определен в программе, то ассемблер обрабатывает операторы в условном блоке.

 

10. Макроопределение может содержать условные директивы, которые проверяют важные условия. Если условие истинно, то ассемблер должен прекратить дальнейшее макрорасширение. Для этого служит директива EXITM:

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 374 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

2450 - | 2243 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.