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)