3 Stimmen

Makros in der x86-Assembler-Kodierung

Kann mir jemand erklären, wie man Makros in der x86-Assembler-Programmierung verwendet?

6voto

Dead account Punkte 18876

Das hängt davon ab, welchen Compiler Sie verwenden.

Normalerweise hat ein Assembler-Makro die folgende Form;

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

Dieser befindet sich im Kopfbereich Ihres Quellcodes und gibt keinen Code aus, es sei denn, er wird referenziert. Sie würden dies mit dem anderen Assembler einbinden.

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

Die "Parameter" %1 und %2 würden in diesem Fall durch ecx und 12 ersetzt, was zu folgender Ausgabe führt

mov ecx, 88
mov eax, ecx
add eax, 12
asr ecx, 3

0voto

Foredecker Punkte 7337

Das ist eine sehr weit gefasste Frage. Es gibt zig Möglichkeiten, Makros zu verwenden. Einige Assembler-Entwickler verwenden sie tonnenweise, andere hassen sie.

Eine der häufigsten Möglichkeiten ist die Verwendung von Makros für Funktionsprologe und -epiloge. Eine andere Möglichkeit ist, sie für das Abrufen von Speicherparametern auf dem Stack zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X