Язык ассемблера
- 1 year ago
- 0
- 0
Макрос — символьное имя, заменяющее несколько команд языка ассемблера .
Макросы могут включать в себя инструкции, данные , метки (в том числе и локальные), директивы (в том числе условные) ассемблера, содержать вызовы других макросов. Большинство современных ассемблеров поддерживают передачу макросу входных параметров.
В зависимости от используемого языка ассемблера , синтаксис объявления, вызова макросов и передачи им параметров может существенно различаться.
Макросы «разворачиваются» в последовательность кода и данных во время ассемблирования (трансляции программы).
Перед тем как использовать макрос, его необходимо объявить. Часто стандартные макросы уже находятся в готовом виде в стандартных подключаемых файлах, в таком случае для их использования в программе необходимо просто подключить нужный файл.
Использование макросов имеет ряд достоинств:
В то же время, использование макросов может иметь и некоторые недостатки:
Объявление макроса на диалекте ассемблера FASM может иметь вид:
macro stos0 {
xor al,al
stosb
}
При дальнейшей вставке макроса в текст строки
stos0
транслятор заменит его на последовательность
xor al,al
stosb