Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор объявления меток и переменных макроопределений




ENDM

ENDM

Оператор формирования текста по параметру макрокоманды

ENDM

ENDM

ENMD

Оператор создания повторяющихся фрагментов

Оператор присваивания

ENDM

Макросредства языка Ассемблер

Макрокоманды языка Ассемблер

Макрокоманды предназначены для повышения эффективности разработки команд на Ассемблере. Механизм макрокоманд представляет собой средства параметрической замены.

В процессе использования макрокоманд производится модификация текста программы.

Макроопределение – это фрагмент на языке Ассемблер, представляющий собой текст замены (подстановки), т.е. шаблон. Макроопределение заключается в операторы:

<имя> MACRO [параметры*]

*фиктивные параметры

Макрокоманда – это оператор, с помощью которого производится подстановка макроопределения с параметрической заменой. Макрокоманда представляет собой само имя макроопределения и, если необходимо, параметры (фактические)

<имя> [параметры]

Макрорасширение – это непосредственно текст подставляемого макроопределения на месте макрокоманды. Перед этими командами в тексте ставят «+».

При разработке макроопределений могут использоваться операторы, позволяющие сократить объем и время его разработки.

Некоторые из этих операторов:

<имя> = <выражение>

Очень похож на EQU, но EQU может встречаться только 1 раз и задает значение константы. Оператор присвоения может использоваться несколько раз, при этом изменяя значения переменной.

С помощью EQU вводится константа, а с помощью присваивания вводится мнимая переменная не программы, а транслятора, т.е. существующая только в трансляторе в момент трансляции и не являющаяся переменной программы (т.е. в ОП ее нет).

 

REPT <целочисленное выражение>

<ф1> // фрагмент программы на Ассемблере

Выражение (фрагмент) ф1 будет повторен в программе заданное число n раз.

Пример:

I=100

REPT 10

dw I

I=I+5

ENDM

 

IRP <имя параметра>, <список значений параметра>

<ф1>

Фрагмент будет повторен столько раз, сколько значений в списке, и каждый фрагмент будет формироваться с соответствующим значением параметра.

Пример:

IPR K, 5, 15, 40

dw K, K+2

ENDM

 

IRC <имя параметра>, <строка>

<ф1>

Повторяется фрагмент ф1 при значении параметра, равного каждому символу строки.

 

IFB <имя параметра>

<ф1>

IFNB <имя параметра>

<ф2>

 

Первый оператор сформирует фрагмент ф1 если при вызове макроопределения в макрокоманде будет задан фактический параметр для формального параметра <имя параметра>. Второй оператор формирует ф2, если фактический параметр не будет задан.

 

LOCAL <имя метки>




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


Дата добавления: 2014-01-15; Просмотров: 344; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.