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

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

Читайте также:
  1. Алгоритм работы библиотечных функций malloc/free языка С
  2. Артикуляционная гимнастика для мышц языка
  3. Атрибуции в рамках дискурсивного подхода: объяснение успехов и неудач в изучении английского языка как иностранного
  4. Глава 1. История происхождения английского языка
  5. Говорение на языках - знамение для верующих
  6. Говорение на языках с точки зрения его апологетов
  7. Говорение языками — не свидетельство нового рождения

Макрокоманда представляет собой развитие механизма замена текста

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

Макрокоманда представляет собой строку, содержащую некое символическое имя, предназначенную для того, чтобы быть замещённой одной или несколькими другими строками. Имя макрокоманды может сопровождаться параметрами. При возникновении необходимости использования макрокоманд и отсутствие её необходимо задать шаблон описания, который называется макроопределением

Синтаксис макроопределения

Имя_макрокоманды macro список_форм_аргум

Тело_макроопределения

Endm

Существует 3 варианта расположения макроопределения:

1. в начале исходного текста программы до сегмента кода и данных с тем, чтобы не ухудшать читабельность программы. Этот вариант применяется, когда отдельные макрокоманды актуальны в пределах только одной программы

2. в отдельном файле. Этот вариант подходит при работе над несколькими программами одной предметной области. Чтобы сделать доступными эти макроопределения конкретной программе, необходимо в начале исходного текста написать директиву include.

Include имя_файла

3. в макро-библиотеке.

Недостаток второго и третьего способа в том, что в исходный текст программы включаются абсолютно все макроопределения. Для исправления ситуации можно использовать директиву purge, в качестве операндов которой через запятую перечисляются имена макрокоманд, которые недолжны включатся в текст программы.

Функционально макрокоманды похожи на процедуры. Отличия можно рассматривать как достоинства, так и недостатки.

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

2. При каждом вызове макрокоманды её текст в виде макрорасширения вставляется в программу.

3. При вызове процедуры микропроцессор осуществляет передачу управления на начало процедуры. Находящийся в некоторой области памяти в одном экземпляре. Код в этом случае получается более компактным, а быстродействие снижается.

4.

5.

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

Имя_макрокоманды список_факт_аргум

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

В результате применения макрокоманды в программе формальные аргументы в макроопределении будут замещаться соответствующими фактическими аргументами. В этом заключается учёт контекста. Процесс такого замещения называется макрогенерацией, а результатом является макрорасширение.

Каждый фактический аргумент представляет строку символов, для формирования которой применяются следующие правила:

1. Строка может состоять из:

a. Последовательности символов без пробелов, точек, запятых, точек с запятой

b. Последовательности любых символов заключённые в угловые скобки. В этой последовательности, заключённые в угловые скобки можно указывать как проблемы, так и точки, запятые и т.д.

2. Для того, чтобы указать, что некоторый символ внутри строки, представляющей фактический параметр, является собственно символом, применяется специальный оператор «!». Этот оператор ставится перед описанным выше символом и его действия эквивалентно заключению символа в угловые скобки

3. Если требуется вычисление в строке некоторого константного выражения, то в начале этого выражения ставится «%».

 


Дата добавления: 2015-11-26; просмотров: 40 | Нарушение авторских прав



mybiblioteka.su - 2015-2026 год. (0.022 сек.)