WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Макрос — символьное имя, заменяющее несколько команд языка ассемблера.

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

Большинство современных ассемблеров поддерживают передачу входных параметров макросу.

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

Макросы «разворачиваются» в последовательность кода и данных во время ассемблирования.

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

Достоинства

  • упрощение и ускорение написания программы
  • повышение компактности
  • повышение наглядности текста программы

Недостатки

  • использование «шаблонного кода» в то время как для каждой конкретной ситуации код, возможно, можно улучшить
  • использование одной процедуры, вызываемой N раз часто выгоднее использования вставки одного и того же макроса (генерирующего один и тот же код) N раз в текст программы
  • теряется «контроль над каждым байтом программы», именно по этой причине многие программисты не используют макросы

Пример объявления и вставки макроса (FASM)

macro stos0 {
    xor al,al
    stosb
}

При дальнейшей вставке макроса в текст

stos0

препроцессор заменит его на последовательность

xor al,al
stosb

См. также

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии