

UitlegDeze webpagina bevat bestanden met Register en Bitnamen die de AVR programmeur kan gebruiken voor het schrijven van assembleer (ASM) programma's. De bestanden zijn eenvoudig te gebruiken in de broncode door deze simpelweg aan het begin ervan te vermelden. De bestanden worden op de volgende wijze aangegeven:
<AVR typenummer> def.inc
Als voorbeeld, de AT90S8515 programma's hebben de volgende assembleer aanduiding nodig:
.include "8515def.inc"
Verders worden de aanwijzer registers R26 - R31 aangeduidt aan de hand van de volgende tabel:
Tabel 1. Aanwijzer Definitie namen
| Register | Naam |
| R26 |
XL |
| R27 |
XH |
| R28 |
YL |
| R29 |
YH |
| R30 |
ZL |
| R31 |
ZH |
Notitie: Voor de AT90S1200 of gelijken, de
enige gedefinieerde aanwijzer is R30 - ZL.
Voor controller's met SRAM, de constante "RAMEND" is gedefineerd. Voor alle andere AVR's, de constanten "FLASHEND" en "EEPROMEND" zijn gedefineerd. Dit is handig om de Stack-aanwijzer te wijzen naar het hoogste interne SRAM adres. Ook de interrupt adressen zijn gedefineerd, en kunnen samen worden gebruikt met de ".org" aanduiding in the assembler, om een interrrupt vector te laten wijzen naar de juiste geheugen locatie. Zie bestandenlijst voor de details.
Om te voorkomen dat instructies niet voorkomen in de toegepaste microcontroller, bevatten alle bestanden een ".device" aanduiding. Als er nieuwe AVR's op de markt komen, worden er ook nieuwe bestanden beschikbaar gemaakt. Gebruikte Bitnamen in de bestanden worden gedefinieerd met de nummers 0-7. De programmeur moet opletten op het verschil tussen bitnamen met instructies die bitmaskers gebruiken als operanden, dit zijn de instructies die bitnummers gebruiken als operanden.
Instructies die bitmaskers gebruiken zijn:
CBR- Clear Bit in Register
SBR - Set Bit in Register
Instructies die gebruik maken van bitnummers zijn:
CBI - Clear Bit in I/O register
SBI - Set Bit in I/O register
SBIC- Skip if Bit in I/O Register Cleared
SBIS- Skip if Bit in I/O Register Set
SBRC- Skip if Bit in Register Cleared
SBRS- Skip if Bit in Register Set
BLD- Bit LoaD from T-flag
BST- Bit STore to T-flag
Om een bitnummer om te zetten naar een bitmasker kan je de shift-left bewerking van de assembler gebruiken ("<<") Merk op dat de "+" operator voorrang heeft over "<<".
Bekijk het volgende programma voorbeeld:
sbr r16,(1<<SE)+(1<<SM) ; zet SE en SM
out MCUCR,r16 ; in MCUCR

Klik HIER om alle AVR definitiebestanden op te halen. (inc = include)
De inhoud van het AVR000.zip bestand bevat de volgende AVR typen:
1200def.inc - AT90S1200
2313def.inc - AT90S2313
2323def.inc - AT90S2323
2343def.inc - AT90S2343
4414def.inc - AT90S4414
4433def.inc - AT90S4433
4434def.inc - AT90S4434
8515def.inc - AT90S8515
8535def.inc - AT90S8535
m103def.inc - ATMEGA103
m128def.inc - ATMEGA128
m161def.inc - ATMEGA161
m162def.inc - ATMEGA162
m163def.inc - ATMEGA163
m165def.inc - ATMEGA165
m168def.inc - ATMEGA168
m169def.inc - ATMEGA169
m16def.inc - ATMEGA16
m2560def.inc - ATMEGA2560
m2561def.inc - ATMEGA2561
m323def.inc - ATMEGA323
m3250def.inc - ATMEGA3250
m325def.inc - ATMEGA325
m3290def.inc - ATMEGA3290
m329def.inc - ATMEGA329
m32def.inc - ATMEGA32
m406def.inc - ATMEGA406
m48def.inc - ATMEGA48
m469def.inc - ATMEGA469
m64def.inc - ATMEGA64
m8515def.inc - ATMEGA8515
m8535def.inc - ATMEGA8535
m88def.inc - ATMEGA88
m8def.inc - ATMEGA8
pwm2def.inc - PWM2
pwm3def.inc - PWM3
tn11def.inc - ATTINY11
tn12def.inc - ATTINY12
tn13def.inc - ATTINY13
tn15def.inc - ATTINY15
tn22def.inc - ATTINY22
tn2313def.inc - ATTINY2313
tn26def.inc - ATTINY26
tn28def.inc - ATTINY28
tn45def.inc - ATTINY45
tn861def.inc - ATTINY861