Präprozessor - Makros (Assembler)
Standard (ungeprüfte Parameter)
Deklaration
- Macro Bezeichner
- (Assemblercode/Makroaufrufe)
- EndMacro
Parameterzugriff im Makro
- @0 = Parameter1
- @1 = Parameter2
- [..]
Beispiel (Standard)
Dies deklariert ein Makro, welches 4 Parameter erwartet
.macro Add128 add @0,@2 adc @1,@3 .endmacro
Aufruf im Assemblerquelltext:
Add128 R12,R13,R14,R15
Erweitert (geprüfte, benannte Parameter)
Bei der Verwendung einer Parameterbenennung bei einem Makro, wird die Anzahl der Parameter mit dem Aufruf verglichen und eine Fehlermeldung bei Differenz ausgegeben.
Deklaration
- Macro Bezeichner[(parameter1, parameter2, ..)]
- (Assemblercode/Makroaufrufe)
- EndMacro
Parameterzugriff im Makro
- @parameter1 = Parameter1
- @parameter2 = Parameter2
- [..]
Beispiel (Erweitert)
Dies deklariert ein Makro, welches 4 Parameter erwartet
.macro Add128(dReg0,dReg1,sReg0,sReg1) add @dReg0,@sReg0 adc @dReg1,@sReg1 .endmacro
Aufruf im Assemblerquelltext:
Add128(R12,R13,R14,R15)