Макросы в коде сборки x86 - PullRequest
1 голос
/ 13 мая 2009

Может кто-нибудь объяснить, как использовать макросы в кодировке сборки x86

Ответы [ 2 ]

7 голосов
/ 13 мая 2009

Зависит от того, каким компилятором вы пользуетесь.

Обычно макрос на ассемблере принимает следующую форму:

begin MyMacro %1, %2
   mov eax, %1
   add eax, %2
end

Это может существовать в разделе заголовка вашего исходного кода и не выводит никакого кода, если на него нет ссылок. Вы бы встроили это в другой ассемблер.

mov ecx, 88
MyMacro ecx, 12
asr ecx, 3

«Параметры»% 1 и% 2 в этом случае будут заменены на ecx и 12, генерирующие следующий вывод

mov ecx, 88
mov eax, ecx
add eax, 12
asr ecx, 3
0 голосов
/ 13 мая 2009

Это действительно широкий вопрос. Существует миллион способов использования макросов. Некоторые разработчики на ассемблере их используют, некоторые ненавидят.

Одним из наиболее распространенных способов является использование макросов для прологов функций и эпилогов. Другой способ - использовать их для извлечения параметров сохранения в стеке.

...