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 Add16 add @0,@2 adc @1,@3 .endmacro
Aufruf im Assemblerquelltext:
Add16 ZL,ZH,_HA0,_HA1
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 Add16(dReg0,dReg1,sReg0,sReg1) add @dReg0,@sReg0 adc @dReg1,@sReg1 .endmacro
Aufruf im Assemblerquelltext:
Add16(ZL,ZH,_HA0,_HA1) ;mit oder ohne Klammerung