2017-03-21 5 views
3

Ich mag einen ifdef Zustand in Assembler-Code machen ähnlich den Pre-Prozessor in C."ifdef" in PowerPC Assembly

zum Beispiel:

ifdef UNIT_TEST 
b somewhere 
else 
b somewhere else 

Ich verwende e200z6 PowerPC-Kern.

+4

Beachten Sie, dass die C-Präprozessor über jede Art von Textdatei, einschließlich Montage Quellen _can_ laufen. Wie nützlich das ist, hängt davon ab, ob die Textdatei "#" für andere Zwecke verwendet. – MSalters

+1

Dies ist mehr über Vorverarbeitung als tatsächliche Assemblersprache; es könnte von dem Assembler abhängen (der die Ausgabe erzeugt), wie dies zu tun ist. – Codor

+2

Ein C-Projekt erstellen und die asm-Dateien dort platzieren klingt wie ein Plan. Dann sollten Sie in der Lage sein, den C-Pre-Prozessor gut zu verwenden. – Lundin

Antwort

6

Normalerweise (und das ist, was wir in der powerpc Teil des Linux-Kernels zu tun) können wir die C-Präprozessor vorverarbeitet die ASM-Dateien für uns:

#ifdef UNIT_TEST 
b test 
#else 
b work 
#endif 

Üblicherweise werden diese Dateien .S statt .s gekennzeichnet oder .asm, um anzuzeigen, dass sie vorverarbeitet sind.