Студопедия — Dec ecx
Студопедия Главная Случайная страница Обратная связь

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

Dec ecx






ENDW

REPEAT

….

Dec ecx

.UNTIL ecx=20

 

Макросы

Мá крос (от англ. macros, мн.ч. от macro) — программный объект, который во время вычисления заменяется на новый объект, создаваемый определением макроса на основе его аргументов.

Корректный перевод термина с английского — «макрокоманда», слово же «макрос» получило распространение благодаря использованию в локализованных продуктах американской корпорации Microsoft

В языке ассемблер, макрос — символьное имя, заменяемое при обработке на последовательность программных инструкций, данных, меток, директив, вызовов других макросов и т.д..

Для каждого компилятора (ассемблера) существует специальный синтаксис объявления и вызова макросов. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове — в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов.

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

Возможность создания макроса с формальными параметрами рассмотрим на примере:

Vivod_stroki macro line

Mov ax, offsetline

Mov ah, 0s

Int 21

Endm

 

В этом случае при вызове макроса при заданном параметре line будет выводится на экран необходимая строка.

Если формальных параметров несколько, то они перечисляются после macro через запятую.

Пример создания макроса, читающего файл в doc 16 разрядный ассемблер:

 

Read macro Fhandle, NOfBytes, Buff

Mov bx, FHandle

Mov ex, NofBytes

Mov dx,.0 Buff

Mov al, 3fh

Int 21h

Endm

 

В программе вызов макроса будет осуществляться строкой:

Read Handle, 16d, packBuff

В этом случае из файла с Хендлом по имени Handle будет прочитано 16 байт в буфер packBuff.

Если при вызове макроса не нужно указывать все параметры, то существуют специальные директивы ifnb (if not blank) и ifb. Тогда макрос read можно переписать следующим образом:

 

Read macro Fhandle, NOfBytes, Buff

ifnb < Fhandle>

Mov bx, FHandle

Endif

Mov ex, NOfBytes

Mov dx,.0 Buff

Mov al, 3fh

Int 21h

Endm

 

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

Часто используемым макросом в программамх для 16-разрядного режима является макрос завершения программы, записываемый в начало программы перед указанием директивы процессора:







Дата добавления: 2014-11-10; просмотров: 576. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия