AVR Assembler Makros
Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Hier entsteht eine Sammlung von verschiedenen nützlichen Makros für den AVR Assembler.
16 Bit Konstante in Z-Pointer laden
Natürlich auch möglich mit X- und Y-Pointer.
.MACRO SetZPtr ;(Adresse) ldi ZL, LOW(@0) ldi ZH, HIGH(@0) .ENDMACRO
2 Register ohne Zwischenspeicher vertauschen
.MACRO SWAP ;(a, b) eor @0, @1 eor @1, @0 eor @0, @1 .ENDMACRO
Konstante addieren
.MACRO ADDI ;(a, k) subi @0, -(@1) .ENDMACRO
Konstante addieren (16 Bit)
.MACRO ADDIW ;(RdL:RdH, k) subi @0L, LOW(-@1) sbci @0H, HIGH(-@1) .ENDMACRO