Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
                ifndef  __regavrinc     ; avoid multiple inclusion
2
__regavrinc	equ     1
3
 
4
                save
5
                listing off   		; no listing over this file
6
 
7
;****************************************************************************
8
;*                                                                          *
9
;*   AS 1.42 - Datei REGAVROLD.INC                                          *
10
;*                                                                          *
11
;*   Contains SFR  and Bit Definitions for AVR Processors                   *
12
;*          OUTDATED VERSION - PLEASE SWITCH TO NEW FILE IF POSSIBLE        *
13
;*                                                                          *
14
;****************************************************************************
15
 
16
; Set internal CPU code and memory addresses in one step
17
 
18
		switch	MOMCPUNAME
19
		case	"AT90S1200"
20
__cpucode	  equ	  0x011200
21
eeend             equ     63		; End Address EEPROM
22
iramend           equ     95,data	; End Address SRAM
23
iromend           label   1023		; End Address EPROM
24
		case	"AT90S2313"
25
__cpucode	  equ	  0x012313
26
eeend             equ     127
27
iramend           equ     0xdf,data
28
iromend           label   2047
29
		case	"AT90S4414"
30
__cpucode	  equ	  0x014414
31
eeend             equ     255
32
iramend           equ     0x15f,data
33
iromend           label   4095
34
		case	"AT90S8515"
35
__cpucode	  equ	  0x018515
36
eeend             equ     511
37
iramend           equ     0x25f,data
38
iromend           label   8191
39
		case	"ATMEGA8"
40
__cpucode	  equ	  0x020008
41
eeend             equ     511
42
iramend           equ     0x45f,data
43
iromend           label   8191
44
		case	"ATMEGA16"
45
__cpucode	  equ	  0x020010
46
eeend             equ     511
47
iramend           equ     0x45f,data
48
iromend           label   16383
49
		elsecase
50
                  fatal  "wrong target selected: only AT90S1200, AT90S2313, AT90S4414, AT90S8515, ATMEGA8, or ATMEGA16 supported"
51
                endcase
52
 
53
ismega		function code,(code>>16)=2
54
 
55
                if      MOMPASS=1
56
                 message "Atmel AVR SFR Definitions (C) 1996,2002 Alfred Arnold"
57
                endif
58
 
59
;----------------------------------------------------------------------------
60
; Constant Memory Addresses
61
 
62
eestart         equ     0               ; Start Address Internal EEPROM
63
iram            equ     96,data         ; Start Address Internal SRAM
64
                                        ; (behind mapped I/O)
65
irom            label   0               ; Start Address Internal EPROM
66
 
67
;----------------------------------------------------------------------------
68
; Prozessorkern
69
 
70
sreg            port    0x3f            ; Status Register:
71
c               equ     0               ;  Carry
72
z               equ     1               ;  Zero Result
73
n               equ     2               ;  Negative Result
74
v               equ     3               ;  Twos Complement Overflow
75
s               equ     4               ;  Sign
76
h               equ     5               ;  Half Carry
77
t               equ     6               ;  Bit Storage
78
i               equ     7               ;  Globale Interrupt Enable
79
 
80
; Size of stack pointer depends on size of Internal data space
81
; (if present at all)
82
 
83
                if      __cpucode>=0x012313
84
spl              equ     0x3d           ; Stack Pointer (LSB)
85
                 if      iramend>=256
86
sph               equ     0x3e          ;               (MSB)
87
                 endif
88
                endif
89
 
90
;----------------------------------------------------------------------------
91
; Chip Configuration
92
 
93
mcucr           port    0x35            ; CPU Control:
94
isc00           equ     0               ;  INT0 Edge Selection
95
isc01           equ     1               ;  INT0 Edge/Level Trigger
96
                if      __cpucode>=0x012313
97
isc10             equ     2             ;  INT1 Edge Selection
98
isc11             equ     3             ;  INT1 Edge/Level Trigger
99
                endif
100
		if 	ismega(__cpucode)
101
; Note: for the Mega16, bits 6 & 7 are interchanged, I guess that's an
102
; error in the data sheet...
103
se		  equ     7		; Sleep Enable
104
sm2		  equ	  6		; Sleep Mode Select
105
sm1		  equ	  5
106
sm0		  equ	  4
107
		else ; !ismega
108
sm                equ     4             ;  Select Idle/PowerDdown Mode
109
se                equ     5             ;  Enable Sleep Mode
110
                  if      __cpucode>=0x014414
111
srw                 equ     6           ;  Wait State Selection External SRAM
112
sre                 equ     7           ;  External External SRAM
113
                  endif
114
		endif
115
 
116
		if	ismega(__cpucode)
117
osccal		  port	  0x31		; Oscillator Calibration
118
 
119
mcucsr		  port	  0x34
120
                  if	  __cpucode>=0x020010
121
jtd		    equ	    7		; JTAG Reset Flag
122
isc2		    equ	    6		; Interrupt Sense Control 2
123
		  endif
124
wdrf		  equ	  3		; Watchdog Reset Occured
125
borf		  equ	  2		; Brown Out Occured
126
extrf		  equ	  1		; External Reset Occured
127
porf		  equ	  0		; Power On Reset Occured
128
 
129
spmcr		  port	  0x37		; Store Program Memory Control Register
130
spmie		  equ	  7		; Interrupt Enable
131
rwwsb		  equ	  6		; Read-while-Write Section Busy
132
rwwsre		  equ	  4		; Read-while-Write Section Read Enable
133
blbset		  equ	  3		; Boot Lock Bit Set
134
pgwrt		  equ	  2		; Page Write
135
pgers		  equ	  1		; Page Erase
136
spmen		  equ	  0		; Store Program Memory Enable
137
		endif
138
 
139
;----------------------------------------------------------------------------
140
; Interrupt-Steuerung
141
 
142
		if 	ismega(__cpucode)
143
gicr		 port	 0x3b
144
ivce		 equ	 0		; Interrupt Vector Change Enable
145
ivsel		 equ	 1		; Interrupt Vector Select
146
int0		 equ	 6		; Enable External Interrupt 0
147
int1		 equ	 7		; Enable External Interrupt 1
148
                 if	 __cpucode>=0x020010
149
int2		  equ	  5		; Enable External Interrupt 2
150
		 endif
151
		elseif
152
gimsk            port    0x3b           ; Global Interrupt Mask:
153
int0             equ     6              ;  External Interrupt 0
154
                 if      __cpucode>=0x012313
155
int1              equ     7             ;  External Interrupt 1
156
                 endif
157
		endif
158
 
159
                if      __cpucode>=0x012313
160
gifr		 port	 0x3a           ; Global Interrupt Flags
161
intf0		 equ	 6		;  External Interrupt 0
162
intf1            equ     7              ;  External Interrupt 1
163
                 ifdef	 int2
164
intf2		  equ	  int2		; External Interrupt 2
165
		 endif
166
                endif
167
 
168
; who the heck decided to rearrange all bits for the Megas?
169
 
170
timsk           port    0x39            ; Timer Interrupt Mask:
171
                if      ismega(__cpucode)
172
toie0            equ     0
173
                elseif
174
toie0            equ     1              ;  Timer 0 Overflow
175
                endif
176
                if      __cpucode>=0x012313
177
                 if      __cpucode>=0x014414
178
                  if 	  ismega(__cpucode)
179
ocie1b             equ     3            ;  Timer 1 Vergleich B
180
                  elseif
181
ocie1b             equ     5            ;  Timer 1 Vergleich B
182
                  endif
183
                 endif
184
                 if	  ismega(__cpucode)
185
toie1		  equ	  2
186
ticie1		  equ	  5
187
toie2		  equ	  6
188
ocie2		  equ	  7
189
ocie1a            equ     4
190
                 elseif
191
toie1             equ     7             ;  Timer 1 Overflow
192
ticie1            equ     3             ;  Timer 1 Capture
193
ocie1a            equ     6             ;  Timer 1 Compare
194
		 endif
195
                endif
196
 
197
tifr            port    0x38            ; Timer Interrupt Flags
198
tov0            equ     toie0		;  Timer 0 Overflow
199
                if      __cpucode>=0x012313
200
ocf1a            equ     ocie1a         ;  Timer 1 Compare A
201
tov1             equ     toie1          ;  Timer 1 Overflow
202
icf1             equ     ticie1         ;  Timer 1 Capture
203
		endif
204
                if      __cpucode>=0x014414
205
ocf1b            equ     ocie1b         ;  Timer 1 Compare
206
                endif
207
		if 	ismega(__cpucode)
208
tov2		 equ	 toie2
209
ocf2		 equ	 ocie2
210
		endif
211
 
212
 
213
;----------------------------------------------------------------------------
214
; Parallel Ports
215
 
216
		if      ismega(__cpucode)
217
sfior		 equ	 0x30
218
psr10		 equ	 0		; T0/T1 Prescaler Reset
219
psr2		 equ	 1		; ditto T2
220
pud		 equ	 2		; Pullup Disable
221
acme		 equ	 3		; Analog Comparator Multiplexer Enable
222
adhsm		 equ	 4		; ADC High Speed Mode
223
		 if	 __cpucode>=0x020010
224
adts0		  equ	  5
225
adts1		  equ	  6
226
adts2		  equ	  7
227
		 endif
228
		endif
229
 
230
                if      (__cpucode=0x014414)||(__cpucode=0x018515)||(__cpucode=0x020010)
231
porta            port    0x1b           ; Port A Data Register
232
ddra             port    0x1a           ; Port A Data Direction Register
233
pina             port    0x19           ; Port A Read Register
234
                endif
235
 
236
portb           port    0x18            ; Port B Data Register
237
ddrb            port    0x17            ; Port B Data Direction Register
238
pinb            port    0x16            ; Port B Read Register
239
 
240
                if      __cpucode>=0x014414
241
portc            port    0x15           ; Port C Data Register
242
ddrc             port    0x14           ; Port C Data Direction Register
243
pinc             port    0x13           ; Port C Read Register
244
                endif
245
 
246
portd           port    0x12            ; Port D Data Register
247
ddrd            port    0x11            ; Port D Data Direction Register
248
pind            port    0x10            ; Port D Read Register
249
 
250
;----------------------------------------------------------------------------
251
; Timer
252
 
253
tccr0           port    0x33            ; Timer 0 Control Register:
254
cs00            equ     0               ;  Prescaler Setting
255
cs01            equ     1
256
cs02            equ     2
257
		if	__cpucode=0x020010
258
wgm01		 equ	 3		; Waveform Generation Mode
259
wgm00		 equ	 6
260
com00		 equ	 4		; Compare/Match Output Mode
261
com01		 equ	 5
262
foc0		 equ	 7		; Force Output Compare
263
		endif
264
 
265
tcnt0           port    0x32            ; Timer 0 Count Register
266
 
267
ocr0		port	0x3c
268
 
269
                if      __cpucode>=0x012313
270
tccr1a           port    0x2f           ; Timer 1 Steuerregister A:
271
pwm10            equ     0              ;  PWM Mode
272
wgm10		 equ	 pwm10
273
pwm11            equ     1
274
wgm11		 equ	 pwm11
275
com1a0           equ     6              ;  Compare Mode A
276
com1a1           equ     7
277
                 if      __cpucode>=0x014414
278
com1b0            equ     4             ;  Compare Mode B
279
com1b1            equ     5
280
                 endif
281
		 if 	 ismega(__cpucode)
282
foc1b		  equ	  2
283
foc1a		  equ	  3
284
		 endif
285
 
286
tccr1b           port    0x2e           ; Timer 1 Control Register B:
287
cs10             equ     0              ; Prescale setting
288
cs11             equ     1
289
cs12             equ     2
290
ctc1             equ     3              ; Reset after Equality ?
291
wgm12		 equ	 ctc1
292
		 if      ismega(__cpucode)
293
wgm13		  equ	  4
294
		 endif
295
ices1            equ     6              ; Capture Edge Selection
296
icnc1            equ     7              ; Capture Noise Filter
297
 
298
tcnt1l           port    0x2c           ; Timer 1 Count Register (LSB)
299
tcnt1h           port    0x2d           ;                        (MSB)
300
 
301
                 if      __cpucode>=0x014414
302
ocr1al            port    0x2a          ; Timer 1 Compare Register A (LSB)
303
ocr1ah            port    0x2b          ;                            (MSB)
304
ocr1bl            port    0x28          ; Timer 1 Compare Register B (LSB)
305
ocr1bh            port    0x29          ;                            (MSB)
306
                 elseif
307
ocr1l             port    0x2a          ; Timer 1 Compare Register (LSB)
308
ocr1h             port    0x2b          ;                          (MSB)
309
                 endif
310
 
311
		 if	 ismega(__cpucode)
312
icr1l             port    0x26
313
icr1h             port    0x27
314
		 elseif
315
icr1l             port    0x24          ; Timer 1 Capture Value (LSB)
316
icr1h             port    0x25          ;                       (MSB)
317
		 endif
318
                endif
319
 
320
		if 	ismega(__cpucode)
321
tccr2		 port	 0x26		; Timer 2 Control Register
322
cs20		 equ	 0		; Prescaler
323
cs21		 equ	 1
324
cs22		 equ	 2
325
wgm21		 equ	 3
326
com20		 equ	 4
327
com21		 equ	 5
328
wgm20		 equ	 6
329
foc2		 equ	 7
330
 
331
tcnt2		 port	 0x24		; Timer Value
332
ocr2		 port	 0x23		; Output Compare Value
333
 
334
assr		 port	 0x22		; Asynchronous Status Register
335
as2		 equ	 3		; Asynchronous Timer 2
336
tcn2ub		 equ	 2		; Timer/Counter 2 Update Busy
337
ocr2ub		 equ	 1		; Output Compare Register 2 Update Busy
338
tcr2ub		 equ	 0		; Timer/Counter Control Register 2 Update Busy
339
		endif
340
 
341
;----------------------------------------------------------------------------
342
; Watchdog
343
 
344
wdtcr           port    0x21            ; Watchdog-Control Register:
345
wdp0            equ     0               ;  Prescaler
346
wdp1            equ     1
347
wdp2            equ     2
348
wde             equ     3               ; Enable
349
		if	__cpucode=0x010008
350
wdce		  equ	  4		; Watchdog Change Enable
351
                elseif 	__cpucode>=0x012313
352
wdttoe		  equ	  4		; Needed for Disable
353
                endif
354
 
355
;----------------------------------------------------------------------------
356
; serielle Ports
357
 
358
                if      __cpucode>=0x012312
359
udr              port    0x0c           ; Data Register UART
360
 
361
usr              port    0x0b           ; Status Register UART:
362
ucsra		 port	 usr
363
		 if	 ismega(__cpucode)
364
mpcm		  equ	  0		; Multiprocessor Communication Mode
365
u2x		  equ	  1		; Double Speed
366
pe		  equ	  2		; Parity Error
367
		 endif
368
or               equ     3              ;  Receiver Overflow
369
dor		 equ	 or
370
fe               equ     4              ;  Framing Error
371
udre             equ     5              ;  Data Register Empty
372
txc              equ     6              ;  Transmission Complete
373
rxc              equ     7              ;  Reception Complete
374
 
375
ucr              port    0x0a           ; UART Control Register:
376
ucsrb		 port	 ucr
377
txb8             equ     0              ;  Transmit Bit 8
378
rxb8             equ     1              ;  Receive Bit 8
379
chr9             equ     2              ;  Enable 9 Bit Data Values
380
ucsz2		 equ	 chr9
381
txen             equ     3              ;  Transmitter Enable
382
rxen             equ     4              ;  Receiver Enable
383
udrie            equ     5              ;  Enable Free Data Register Interrupt
384
txcie            equ     6              ;  Enable Transmit Complete Interrupt
385
rxcie            equ     7              ;  Enable Receive Complete Interrupt
386
 
387
		 if      ismega(__cpucode)
388
ucsrc		  port	  0x20		; Control Register C
389
ursel		  equ	  7		; Register Select
390
umsel		  equ	  6		; Sync/Async Mode
391
upm1		  equ	  5		; Parity Mode
392
upm0		  equ	  4
393
usbs		  equ	  3		; Stop Bit Select
394
ucsz1		  equ	  2		; Character Size
395
ucsz0		  equ	  1
396
ucpol		  equ	  0		; Clock Polarity
397
		 endif
398
 
399
ubrr             port    0x09           ; Baud Rate Generator
400
		 if	 ismega(__cpucode)
401
ubrrl		  port	  ubrr
402
ubrrh		  port	  ucsrc
403
		 endif
404
                endif
405
 
406
                if      __cpucode>=0x014414
407
spcr             port    0x0d           ; SPI Control Register:
408
spr0             equ     0              ;  Clock Selection
409
spr1             equ     1
410
cpha             equ     2              ;  Clock Phase
411
cpol             equ     3              ;  Clock Polarity
412
mstr             equ     4              ;  Master/Slave Select
413
dord             equ     5              ;  Bit Order
414
spe              equ     6              ;  SPI Enable
415
spie             equ     7              ;  SPI Interrupt Enable
416
 
417
spsr             port    0x0e           ; SPI Status Register:
418
		 if	 ismega(__cpucode)
419
spi2x		  equ	  0		; Double Speed Mode
420
		 endif
421
wcol             equ     6              ;  Write Collision ?
422
spif             equ     7              ;  SPI Interrupt Flag
423
 
424
spdr             port    0x0f           ; SPI Data Register
425
                endif
426
 
427
		if	ismega(__cpucode)
428
twbr		 port	 0x00		; Bit Rate Register
429
 
430
twcr		 port	 0x36		; Control Register
431
twint		 equ	 7		; Interrupt Flag
432
twea		 equ	 6		; Enable Acknowledge Bit
433
twsta		 equ	 5		; Start Condition
434
twsto		 equ	 4		; Stop Condition
435
twwc		 equ	 3		; Write Collision Flag
436
twen		 equ	 2		; Enable Bit
437
twie		 equ	 0		; Interupt Enable
438
 
439
twsr		 port	 0x01		; Status Register
440
tws7		 equ	 7		; Status
441
tws6		 equ	 6
442
tws5		 equ	 5
443
tws4		 equ	 4
444
tws3		 equ	 3
445
twps1		 equ	 1		; Prescaler
446
twps0		 equ	 0
447
 
448
twdr		 port	 0x03		; Data Register
449
 
450
twar		 port	 0x02		; (Slave) Address Register
451
twgce		 equ	 0		; General Call recognition Bit
452
		endif
453
 
454
;----------------------------------------------------------------------------
455
; Analog Comparator
456
 
457
acsr            port    0x08            ; Comparator Control/Status Register:
458
acis0           equ     0               ;  Interrupt Mode
459
acis1           equ     1
460
		if	__cpucode>=0x012313
461
acic             equ     2              ;  Use Comparator as Capture Signal for Timer 1
462
		endif
463
acie            equ     3               ;  Interrupt Enable
464
aci             equ     4               ;  Interrupt Flag
465
aco             equ     5               ;  Comparator Output
466
		if      ismega(__cpucode)
467
acbg		 equ	 6		;  Bandgap Select
468
		endif
469
acd		equ	7		;  Power Off
470
 
471
;----------------------------------------------------------------------------
472
; A/D Converter
473
 
474
		if      ismega(__cpucode)
475
admux		 port	 0x07		; Multiplexer Selection
476
refs1		 equ	 7		; reference Selection Bits
477
refs0		 equ	 6
478
adlar		 equ	 5		; Left Adjust Right
479
mux3		 equ	 3		; Multiplexer
480
mux2		 equ	 2
481
mux1		 equ	 1
482
mux0		 equ	 0
483
 
484
		 if 	 __cpucode >=0x020010
485
adcsra		  port	  0x06		; Control/Status Register
486
adate		  equ	  5		; Auto Trigger Enable
487
		 elseif
488
adcsr		  port	  0x06		; Control/Status Register
489
adfr		  equ	  5		; free Running Select
490
		  endif
491
aden		 equ	 7		; Enable ADC
492
adsc		 equ	 6		; Start Conversion
493
adif		 equ	 4		; Interrupt Flag
494
adie		 equ	 3		; Interrupt Enable
495
adps2		 equ	 2		; Prescaler Select
496
adps1		 equ	 1
497
adps0		 equ	 0
498
 
499
adch		 port	 0x05		; Data Register
500
adcl		 port	 0x04
501
		endif
502
 
503
;----------------------------------------------------------------------------
504
; JTAG
505
 
506
		if	__cpucode >=0x020010
507
ocdr		 port	 osccal		; Debug Register
508
		endif
509
 
510
;----------------------------------------------------------------------------
511
; EEPROM
512
 
513
		if eeend>=256
514
eearl		 port	 0x1e		; Address Register
515
eearh		 port	 0x1f
516
		elseif 
517
eear             port    0x1e
518
		endif
519
 
520
eedr            port    0x1d            ; Data Register
521
 
522
eecr            port    0x1c            ; Control Register:
523
eere            equ     0               ;  Read Enable
524
eewe            equ     1               ;  Write Enable
525
		if	__cpucode>=0x012313
526
eemwe		 equ	 2
527
		endif
528
		if 	__cpucode=0x020008
529
eerie		 equ	 3		; Enable Ready Interrupt
530
		endif
531
 
532
;----------------------------------------------------------------------------
533
; Vectors
534
; Unfortunately, interrupt numbers change for biggger processors
535
; Why only, Atmel, why ?
536
 
537
vec_reset       label   0               ; Reset Entry
538
                switch  __cpucode
539
                case    0x011200
540
vec_int0         label   1              ; Entry External Interrupt 0
541
vec_tm0ovf       label   2              ; Entry Overflow Timer 0
542
vec_anacomp      label   3              ; Entry Analog Comparator
543
                case    0x012313
544
vec_int0         label   1              ; Entry External Interrupt 0
545
vec_int1         label   2              ; Entry External Interrupt 2
546
vec_tm1capt      label   3              ; Entry Capture Timer 1
547
vec_tm1comp      label   4              ; Entry Compare Timer 1
548
vec_tm1ovf       label   5              ; Entry Overflow Timer 1
549
vec_tm0ovf       label   6              ; Entry Overflow Timer 0
550
vec_uartrx       label   7              ; Entry UART Empfang komplett
551
vec_uartudre     label   8              ; Entry UART Data Register leer
552
vec_uarttx       label   9              ; Entry UART Sendung komplett
553
vec_anacomp      label   10             ; Entry Analog-Komparator
554
                case    0x014414,0x018515
555
vec_int0         label   1              ; Entry External Interrupt 0
556
vec_int1         label   2              ; Entry External Interrupt 2
557
vec_tm1capt      label   3              ; Entry Capture Timer 1
558
vec_tm1compa     label   4              ; Entry Compare A Timer 1
559
vec_tm1compb     label   5              ; Entry Compare A Timer 1
560
vec_tm1ovf       label   6              ; Entry Overflow Timer 1
561
vec_tm0ovf       label   7              ; Entry Overflow Timer 0
562
vec_spi          label   8              ; Entry SPI Interrupt
563
vec_uartrx       label   9              ; Entry UART Reception Complete
564
vec_uartudre     label   10             ; Entry UART Data Register Empty
565
vec_uarttx       label   11             ; Entry UART Sendung Complete
566
vec_anacomp      label   12             ; Entry Analog Comparator
567
		case	0x020008
568
vec_int0         label   1              ; Entry External Interrupt 0
569
vec_int1	 label	 2		; External Interrupt 1
570
vec_tm2comp	 label 	 3 		; Timer 2 Compare Match
571
vec_tm2ovf	 label	 4		; Timer 2 Overflow
572
vec_tm1capt	 label	 5		; Timer 1 Capture
573
vec_tm1compa	 label	 6		; Timer 1 Compare Match A
574
vec_tm1compb	 label	 7		; Timer 1 Compare Match B
575
vec_tm1ovf	 label	 8		; Timer 1 Overflow
576
vec_tm0ovf	 label	 9		; Timer 0 Overflow
577
vec_spi		 label   10		; SPI Transfer Complete
578
vec_uartrx	 label	 11		; UART Rx Complete
579
vec_uartudre	 label   12		; UART Data Register Empty
580
vec_uarttx	 label	 13		; UART Tx Complete
581
vec_adc		 label	 14		; ADC Conversion Complete
582
vec_eerdy	 label	 15		; EEPROM Ready
583
vec_anacomp	 label	 16		; analog Comparator
584
vec_twi		 label	 17		; Two-Wire Interface
585
vec_spm_rdy	 label	 18		; Store Program Memory Ready
586
		case	0x020010
587
vec_int0	 label	 2		; External Interrupt 0
588
vec_int1	 label	 4		; External Interrupt 1
589
vec_tm2comp	 label 	 6 		; Timer 2 Compare Match
590
vec_tm2ovf	 label	 8		; Timer 2 Overflow
591
vec_tm1capt	 label	 10		; Timer 1 Capture
592
vec_tm1compa	 label	 12		; Timer 1 Compare Match A
593
vec_tm1compb	 label	 14		; Timer 1 Compare Match B
594
vec_tm1ovf	 label	 16		; Timer 1 Overflow
595
vec_tm0ovf	 label	 18		; Timer 0 Overflow
596
vec_spi		 label   20		; SPI Transfer Complete
597
vec_uartrx	 label	 22		; UART Rx Complete
598
vec_uartudre	 label   24		; UART Data Register Empty
599
vec_uarttx	 label	 26		; UART Tx Complete
600
vec_adc		 label	 28		; ADC Conversion Complete
601
vec_eerdy	 label	 30		; EEPROM Ready
602
vec_anacomp	 label	 32		; analog Comparator
603
vec_twi		 label	 34		; Two-Wire Interface
604
vec_int2	 label	 36		; External Interrupt 2
605
vec_tm0comp	 label	 38		; Timer 0 Compare Match
606
vec_spm_rdy	 label	 40		; Store Program Memory Ready
607
                endcase
608
 
609
;----------------------------------------------------------------------------
610
 
611
                restore                 ; re-allow listing
612
 
613
                endif			; __regavrinc