Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6400 punk_joker 1
;***** THIS IS A MACHINE GENERATED FILE - DO NOT EDIT ********************
2
;***** Created: 2005-01-11 10:30 ******* Source: AT90S4433.xml ***********
3
;*************************************************************************
4
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
5
;*
6
;* Number            : AVR000
7
;* File Name         : "4433def.inc"
8
;* Title             : Register/Bit Definitions for the AT90S4433
9
;* Date              : 2005-01-11
10
;* Version           : 2.14
11
;* Support E-mail    : avr@atmel.com
12
;* Target MCU        : AT90S4433
13
;*
14
;* DESCRIPTION
15
;* When including this file in the assembly program file, all I/O register
16
;* names and I/O register bit names appearing in the data book can be used.
17
;* In addition, the six registers forming the three data pointers X, Y and
18
;* Z have been assigned names XL - ZH. Highest RAM address for Internal
19
;* SRAM is also defined
20
;*
21
;* The Register names are represented by their hexadecimal address.
22
;*
23
;* The Register Bit names are represented by their bit number (0-7).
24
;*
25
;* Please observe the difference in using the bit names with instructions
26
;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc"
27
;* (skip if bit in register set/cleared). The following example illustrates
28
;* this:
29
;*
30
;* in    r16,PORTB             ;read PORTB latch
31
;* sbr   r16,(1<
32
;* out   PORTB,r16             ;output to PORTB
33
;*
34
;* in    r16,TIFR              ;read the Timer Interrupt Flag Register
35
;* sbrc  r16,TOV0              ;test the overflow flag (use bit#)
36
;* rjmp  TOV0_is_set           ;jump if set
37
;* ...                         ;otherwise do something else
38
;*************************************************************************
39
 
40
#ifndef _4433DEF_INC_
41
#define _4433DEF_INC_
42
 
43
 
44
#pragma partinc 0
45
 
46
; ***** SPECIFY DEVICE ***************************************************
47
.device AT90S4433
48
#pragma AVRPART ADMIN PART_NAME AT90S4433
49
.equ	SIGNATURE_000	= 0x1e
50
.equ	SIGNATURE_001	= 0x92
51
.equ	SIGNATURE_002	= 0x03
52
 
53
#pragma AVRPART CORE CORE_VERSION V1
54
 
55
 
56
; ***** I/O REGISTER DEFINITIONS *****************************************
57
; NOTE:
58
; Definitions marked "MEMORY MAPPED"are extended I/O ports
59
; and cannot be used with IN/OUT instructions
60
.equ	SREG	= 0x3f
61
.equ	SP	= 0x3d
62
.equ	GIMSK	= 0x3b
63
.equ	GIFR	= 0x3a
64
.equ	TIMSK	= 0x39
65
.equ	TIFR	= 0x38
66
.equ	MCUCR	= 0x35
67
.equ	MCUSR	= 0x34
68
.equ	TCCR0	= 0x33
69
.equ	TCNT0	= 0x32
70
.equ	TCCR1A	= 0x2f
71
.equ	TCCR1B	= 0x2e
72
.equ	TCNT1H	= 0x2d
73
.equ	TCNT1L	= 0x2c
74
.equ	OCR1H	= 0x2b
75
.equ	OCR1L	= 0x2a
76
.equ	ICR1H	= 0x27
77
.equ	ICR1L	= 0x26
78
.equ	WDTCR	= 0x21
79
.equ	EEAR	= 0x1e
80
.equ	EEDR	= 0x1d
81
.equ	EECR	= 0x1c
82
.equ	PORTB	= 0x18
83
.equ	DDRB	= 0x17
84
.equ	PINB	= 0x16
85
.equ	PORTC	= 0x15
86
.equ	DDRC	= 0x14
87
.equ	PINC	= 0x13
88
.equ	PORTD	= 0x12
89
.equ	DDRD	= 0x11
90
.equ	PIND	= 0x10
91
.equ	SPDR	= 0x0f
92
.equ	SPSR	= 0x0e
93
.equ	SPCR	= 0x0d
94
.equ	UDR	= 0x0c
95
.equ	UCSRA	= 0x0b
96
.equ	UCSRB	= 0x0a
97
.equ	UBRR	= 0x09
98
.equ	ACSR	= 0x08
99
.equ	ADMUX	= 0x07
100
.equ	ADCSR	= 0x06
101
.equ	ADCH	= 0x05
102
.equ	ADCL	= 0x04
103
.equ	UBRRHI	= 0x03
104
 
105
 
106
; ***** BIT DEFINITIONS **************************************************
107
 
108
; ***** ANALOG_COMPARATOR ************
109
; ACSR - Analog Comparator Control And Status Register
110
.equ	ACIS0	= 0	; Analog Comparator Interrupt Mode Select bit 0
111
.equ	ACIS1	= 1	; Analog Comparator Interrupt Mode Select bit 1
112
.equ	ACIC	= 2	; Analog Comparator Input Capture Enable
113
.equ	ACIE	= 3	; Analog Comparator Interrupt Enable
114
.equ	ACI	= 4	; Analog Comparator Interrupt Flag
115
.equ	ACO	= 5	; Analog Compare Output
116
.equ	AINBG	= 6	; Analog Comparator Bandgap Select
117
.equ	ACD	= 7	; Analog Comparator Disable
118
 
119
 
120
; ***** AD_CONVERTER *****************
121
; ADMUX - The ADC multiplexer Selection Register
122
.equ	MUX0	= 0	; Analog Channel and Gain Selection Bits
123
.equ	MUX1	= 1	; Analog Channel and Gain Selection Bits
124
.equ	MUX2	= 2	; Analog Channel and Gain Selection Bits
125
.equ	ADCBG	= 6	; ADC Bandgap Select
126
 
127
; ADCSR - The ADC Control and Status register
128
.equ	ADPS0	= 0	; ADC  Prescaler Select Bits
129
.equ	ADPS1	= 1	; ADC  Prescaler Select Bits
130
.equ	ADPS2	= 2	; ADC  Prescaler Select Bits
131
.equ	ADIE	= 3	; ADC Interrupt Enable
132
.equ	ADIF	= 4	; ADC Interrupt Flag
133
.equ	ADFR	= 5	; ADC  Free Running Select
134
.equ	ADSC	= 6	; ADC Start Conversion
135
.equ	ADEN	= 7	; ADC Enable
136
 
137
; ADCH - ADC Data Register High Byte
138
.equ	ADC8	= 0	; ADC Data Register High Byte Bit 0
139
.equ	ADC9	= 1	; ADC Data Register High Byte Bit 1
140
 
141
; ADCL - ADC Data Register Low Byte
142
.equ	ADC0	= 0	; ADC Data Register Low Byte Bit 0
143
.equ	ADC1	= 1	; ADC Data Register Low Byte Bit 1
144
.equ	ADC2	= 2	; ADC Data Register Low Byte Bit 2
145
.equ	ADC3	= 3	; ADC Data Register Low Byte Bit 3
146
.equ	ADC4	= 4	; ADC Data Register Low Byte Bit 4
147
.equ	ADC5	= 5	; ADC Data Register Low Byte Bit 5
148
.equ	ADC6	= 6	; ADC Data Register Low Byte Bit 6
149
.equ	ADC7	= 7	; ADC Data Register Low Byte Bit 7
150
 
151
 
152
; ***** UART *************************
153
; UDR - UART I/O Data Register
154
.equ	UDR0	= 0	; UART I/O Data Register bit 0
155
.equ	UDR1	= 1	; UART I/O Data Register bit 1
156
.equ	UDR2	= 2	; UART I/O Data Register bit 2
157
.equ	UDR3	= 3	; UART I/O Data Register bit 3
158
.equ	UDR4	= 4	; UART I/O Data Register bit 4
159
.equ	UDR5	= 5	; UART I/O Data Register bit 5
160
.equ	UDR6	= 6	; UART I/O Data Register bit 6
161
.equ	UDR7	= 7	; UART I/O Data Register bit 7
162
 
163
; UCSRA - UART Control and Status register A
164
.equ	MPCM	= 0	; Mulit-processor Communication Mode
165
.equ	DOR	= 3	; Data overRun
166
.equ	FE	= 4	; Framing Error
167
.equ	UDRE	= 5	; UART Data Register Empty
168
.equ	TXC	= 6	; UART Transmitt Complete
169
.equ	RXC	= 7	; UART Receive Complete
170
 
171
; UCSRB - UART Control an Status register B
172
.equ	TXB8	= 0	; Transmit Data Bit 8
173
.equ	RXB8	= 1	; Receive Data Bit 8
174
.equ	CHR9	= 2	; 9-bit Characters
175
.equ	TXEN	= 3	; Transmitter Enable
176
.equ	RXEN	= 4	; Receiver Enable
177
.equ	UDRIE	= 5	; UART Data Register Empty Interrupt Enable
178
.equ	TXCIE	= 6	; TX Complete Interrupt Enable
179
.equ	RXCIE	= 7	; RX Complete Interrupt Enable
180
 
181
; UBRRHI - UART Baud Rate Register High Byte
182
.equ	UBRRHI0	= 0	; UART Baud Rate Register High Byte bit 0
183
.equ	UBRRHI1	= 1	; UART Baud Rate Register High Byte bit 1
184
.equ	UBRRHI2	= 2	; UART Baud Rate Register High Byte bit 2
185
.equ	UBRRHI3	= 3	; UART Baud Rate Register High Byte bit 3
186
 
187
; UBRR - UART Baud Rate Register
188
.equ	UBRR0	= 0	; UART Baud Rate Register bit 0
189
.equ	UBRR1	= 1	; UART Baud Rate Register bit 1
190
.equ	UBRR2	= 2	; UART Baud Rate Register bit 2
191
.equ	UBRR3	= 3	; UART Baud Rate Register bit 3
192
.equ	UBRR4	= 4	; UART Baud Rate Register bit 4
193
.equ	UBRR5	= 5	; UART Baud Rate Register bit 5
194
.equ	UBRR6	= 6	; UART Baud Rate Register bit 6
195
.equ	UBRR7	= 7	; UART Baud Rate Register bit 7
196
 
197
 
198
; ***** SPI **************************
199
; SPDR - SPI Data Register
200
.equ	SPDR0	= 0	; SPI Data Register bit 0
201
.equ	SPDR1	= 1	; SPI Data Register bit 1
202
.equ	SPDR2	= 2	; SPI Data Register bit 2
203
.equ	SPDR3	= 3	; SPI Data Register bit 3
204
.equ	SPDR4	= 4	; SPI Data Register bit 4
205
.equ	SPDR5	= 5	; SPI Data Register bit 5
206
.equ	SPDR6	= 6	; SPI Data Register bit 6
207
.equ	SPDR7	= 7	; SPI Data Register bit 7
208
 
209
; SPSR - SPI Status Register
210
.equ	WCOL	= 6	; Write Collision Flag
211
.equ	SPIF	= 7	; SPI Interrupt Flag
212
 
213
; SPCR - SPI Control Register
214
.equ	SPR0	= 0	; SPI Clock Rate Select 0
215
.equ	SPR1	= 1	; SPI Clock Rate Select 1
216
.equ	CPHA	= 2	; Clock Phase
217
.equ	CPOL	= 3	; Clock polarity
218
.equ	MSTR	= 4	; Master/Slave Select
219
.equ	DORD	= 5	; Data Order
220
.equ	SPE	= 6	; SPI Enable
221
.equ	SPIE	= 7	; SPI Interrupt Enable
222
 
223
 
224
; ***** CPU **************************
225
; SREG - Status Register
226
.equ	SREG_C	= 0	; Carry Flag
227
.equ	SREG_Z	= 1	; Zero Flag
228
.equ	SREG_N	= 2	; Negative Flag
229
.equ	SREG_V	= 3	; Two's Complement Overflow Flag
230
.equ	SREG_S	= 4	; Sign Bit
231
.equ	SREG_H	= 5	; Half Carry Flag
232
.equ	SREG_T	= 6	; Bit Copy Storage
233
.equ	SREG_I	= 7	; Global Interrupt Enable
234
 
235
; SP - Stack Pointer
236
.equ	SP0	= 0	; Stack pointer bit 0
237
.equ	SP1	= 1	; Stack pointer bit 1
238
.equ	SP2	= 2	; Stack pointer bit 2
239
.equ	SP3	= 3	; Stack pointer bit 3
240
.equ	SP4	= 4	; Stack pointer bit 4
241
.equ	SP5	= 5	; Stack pointer bit 5
242
.equ	SP6	= 6	; Stack pointer bit 6
243
.equ	SP7	= 7	; Stack pointer bit 7
244
 
245
; MCUCR - MCU Control Register
246
.equ	ISC00	= 0	; Interrupt Sense Control 0 bit 0
247
.equ	ISC01	= 1	; Interrupt Sense Control 0 bit 1
248
.equ	ISC10	= 2	; Interrupt Sense Control 1 bit 0
249
.equ	ISC11	= 3	; Interrupt Sense Control 1 bit 1
250
.equ	SM	= 4	; Sleep Mode Select
251
.equ	SE	= 5	; Sleep Enable
252
 
253
; MCUSR -
254
.equ	PORF	= 0	; Power-on Reset Flag
255
.equ	EXTRF	= 1	; External Reset Flag
256
.equ	BORF	= 2	; Brown-Out Reset Flag
257
.equ	WDRF	= 3	; Watchdog Reset Flag
258
 
259
 
260
; ***** EXTERNAL_INTERRUPT ***********
261
; GIMSK - General Interrupt Mask Register
262
.equ	INT0	= 6	; External Interrupt Request 0 Enable
263
.equ	INT1	= 7	; External Interrupt Request 1 Enable
264
 
265
; GIFR - General Interrupt Flag register
266
.equ	INTF0	= 6	; External Interrupt Flag 0
267
.equ	INTF1	= 7	; External Interrupt Flag 1
268
 
269
 
270
; ***** EEPROM ***********************
271
; EEAR - EEPROM Read/Write Access
272
.equ	EEAR0	= 0	; EEPROM Read/Write Access bit 0
273
.equ	EEAR1	= 1	; EEPROM Read/Write Access bit 1
274
.equ	EEAR2	= 2	; EEPROM Read/Write Access bit 2
275
.equ	EEAR3	= 3	; EEPROM Read/Write Access bit 3
276
.equ	EEAR4	= 4	; EEPROM Read/Write Access bit 4
277
.equ	EEAR5	= 5	; EEPROM Read/Write Access bit 5
278
.equ	EEAR6	= 6	; EEPROM Read/Write Access bit 6
279
.equ	EEAR7	= 7	; EEPROM Read/Write Access bit 7
280
 
281
; EEDR - EEPROM Data Register
282
.equ	EEDR0	= 0	; EEPROM Data Register bit 0
283
.equ	EEDR1	= 1	; EEPROM Data Register bit 1
284
.equ	EEDR2	= 2	; EEPROM Data Register bit 2
285
.equ	EEDR3	= 3	; EEPROM Data Register bit 3
286
.equ	EEDR4	= 4	; EEPROM Data Register bit 4
287
.equ	EEDR5	= 5	; EEPROM Data Register bit 5
288
.equ	EEDR6	= 6	; EEPROM Data Register bit 6
289
.equ	EEDR7	= 7	; EEPROM Data Register bit 7
290
 
291
; EECR - EEPROM Control Register
292
.equ	EERE	= 0	; EEPROM Read Enable
293
.equ	EEWE	= 1	; EEPROM Write Enable
294
.equ	EEMWE	= 2	; EEPROM Master Write Enable
295
.equ	EERIE	= 3	; EEProm Ready Interrupt Enable
296
 
297
 
298
; ***** PORTB ************************
299
; PORTB - Data Register, Port B
300
.equ	PORTB0	= 0	;
301
.equ	PB0	= 0	; For compatibility
302
.equ	PORTB1	= 1	;
303
.equ	PB1	= 1	; For compatibility
304
.equ	PORTB2	= 2	;
305
.equ	PB2	= 2	; For compatibility
306
.equ	PORTB3	= 3	;
307
.equ	PB3	= 3	; For compatibility
308
.equ	PORTB4	= 4	;
309
.equ	PB4	= 4	; For compatibility
310
.equ	PORTB5	= 5	;
311
.equ	PB5	= 5	; For compatibility
312
 
313
; DDRB - Data Direction Register, Port B
314
.equ	DDB0	= 0	;
315
.equ	DDB1	= 1	;
316
.equ	DDB2	= 2	;
317
.equ	DDB3	= 3	;
318
.equ	DDB4	= 4	;
319
.equ	DDB5	= 5	;
320
 
321
; PINB - Input Pins, Port B
322
.equ	PINB0	= 0	;
323
.equ	PINB1	= 1	;
324
.equ	PINB2	= 2	;
325
.equ	PINB3	= 3	;
326
.equ	PINB4	= 4	;
327
.equ	PINB5	= 5	;
328
 
329
 
330
; ***** PORTC ************************
331
; PORTC - Port C Data Register
332
.equ	PORTC0	= 0	; Port C Data Register bit 0
333
.equ	PC0	= 0	; For compatibility
334
.equ	PORTC1	= 1	; Port C Data Register bit 1
335
.equ	PC1	= 1	; For compatibility
336
.equ	PORTC2	= 2	; Port C Data Register bit 2
337
.equ	PC2	= 2	; For compatibility
338
.equ	PORTC3	= 3	; Port C Data Register bit 3
339
.equ	PC3	= 3	; For compatibility
340
.equ	PORTC4	= 4	; Port C Data Register bit 4
341
.equ	PC4	= 4	; For compatibility
342
.equ	PORTC5	= 5	; Port C Data Register bit 5
343
.equ	PC5	= 5	; For compatibility
344
 
345
; DDRC - Port C Data Direction Register
346
.equ	DDC0	= 0	; Port C Data Direction Register bit 0
347
.equ	DDC1	= 1	; Port C Data Direction Register bit 1
348
.equ	DDC2	= 2	; Port C Data Direction Register bit 2
349
.equ	DDC3	= 3	; Port C Data Direction Register bit 3
350
.equ	DDC4	= 4	; Port C Data Direction Register bit 4
351
.equ	DDC5	= 5	; Port C Data Direction Register bit 5
352
 
353
; PINC - Port C Input Pins
354
.equ	PINC0	= 0	; Port C Input Pins bit 0
355
.equ	PINC1	= 1	; Port C Input Pins bit 1
356
.equ	PINC2	= 2	; Port C Input Pins bit 2
357
.equ	PINC3	= 3	; Port C Input Pins bit 3
358
.equ	PINC4	= 4	; Port C Input Pins bit 4
359
.equ	PINC5	= 5	; Port C Input Pins bit 5
360
 
361
 
362
; ***** PORTD ************************
363
; PORTD - Port D Data Register
364
.equ	PORTD0	= 0	; Port D Data Register bit 0
365
.equ	PD0	= 0	; For compatibility
366
.equ	PORTD1	= 1	; Port D Data Register bit 1
367
.equ	PD1	= 1	; For compatibility
368
.equ	PORTD2	= 2	; Port D Data Register bit 2
369
.equ	PD2	= 2	; For compatibility
370
.equ	PORTD3	= 3	; Port D Data Register bit 3
371
.equ	PD3	= 3	; For compatibility
372
.equ	PORTD4	= 4	; Port D Data Register bit 4
373
.equ	PD4	= 4	; For compatibility
374
.equ	PORTD5	= 5	; Port D Data Register bit 5
375
.equ	PD5	= 5	; For compatibility
376
.equ	PORTD6	= 6	; Port D Data Register bit 6
377
.equ	PD6	= 6	; For compatibility
378
.equ	PORTD7	= 7	; Port D Data Register bit 7
379
.equ	PD7	= 7	; For compatibility
380
 
381
; DDRD - Port D Data Direction Register
382
.equ	DDD0	= 0	; Port D Data Direction Register bit 0
383
.equ	DDD1	= 1	; Port D Data Direction Register bit 1
384
.equ	DDD2	= 2	; Port D Data Direction Register bit 2
385
.equ	DDD3	= 3	; Port D Data Direction Register bit 3
386
.equ	DDD4	= 4	; Port D Data Direction Register bit 4
387
.equ	DDD5	= 5	; Port D Data Direction Register bit 5
388
.equ	DDD6	= 6	; Port D Data Direction Register bit 6
389
.equ	DDD7	= 7	; Port D Data Direction Register bit 7
390
 
391
; PIND - Port D Input Pins
392
.equ	PIND0	= 0	; Port D Input Pins bit 0
393
.equ	PIND1	= 1	; Port D Input Pins bit 1
394
.equ	PIND2	= 2	; Port D Input Pins bit 2
395
.equ	PIND3	= 3	; Port D Input Pins bit 3
396
.equ	PIND4	= 4	; Port D Input Pins bit 4
397
.equ	PIND5	= 5	; Port D Input Pins bit 5
398
.equ	PIND6	= 6	; Port D Input Pins bit 6
399
.equ	PIND7	= 7	; Port D Input Pins bit 7
400
 
401
 
402
; ***** TIMER_COUNTER_0 **************
403
; TIMSK - Timer/Counter Interrupt Mask Register
404
.equ	TOIE0	= 1	; Timer/Counter0 Overflow Interrupt Enable
405
 
406
; TIFR - Timer/Counter Interrupt Flag register
407
.equ	TOV0	= 1	; Timer/Counter0 Overflow Flag
408
 
409
; TCCR0 - Timer/Counter0 Control Register
410
.equ	CS00	= 0	; Clock Select0 bit 0
411
.equ	CS01	= 1	; Clock Select0 bit 1
412
.equ	CS02	= 2	; Clock Select0 bit 2
413
 
414
; TCNT0 - Timer Counter 0
415
.equ	TCNT00	= 0	; Timer Counter 0 bit 0
416
.equ	TCNT01	= 1	; Timer Counter 0 bit 1
417
.equ	TCNT02	= 2	; Timer Counter 0 bit 2
418
.equ	TCNT03	= 3	; Timer Counter 0 bit 3
419
.equ	TCNT04	= 4	; Timer Counter 0 bit 4
420
.equ	TCNT05	= 5	; Timer Counter 0 bit 5
421
.equ	TCNT06	= 6	; Timer Counter 0 bit 6
422
.equ	TCNT07	= 7	; Timer Counter 0 bit 7
423
 
424
 
425
; ***** TIMER_COUNTER_1 **************
426
; TIMSK - Timer/Counter Interrupt Mask Register
427
.equ	TICIE1	= 3	; Timer/Counter1 Input Capture Interrupt Enable
428
.equ	OCIE1	= 6	; Timer/Counter1 Output Compare Match Interrupt Enable
429
.equ	TOIE1	= 7	; Timer/Counter1 Overflow Interrupt Enable
430
 
431
; TIFR - Timer/Counter Interrupt Flag register
432
.equ	ICF1	= 3	; Input Capture Flag 1
433
.equ	OCF1	= 6	; Output Compare Flag 1
434
.equ	TOV1	= 7	; Timer/Counter1 Overflow Flag
435
 
436
; TCCR1A - Timer/Counter1 Control Register A
437
.equ	PWM10	= 0	; Pulse Width Modulator Select Bit 0
438
.equ	PWM11	= 1	; Pulse Width Modulator Select Bit 1
439
.equ	COM10	= 6	; Compare Ouput Mode 1, bit 0
440
.equ	COM11	= 7	; Compare Output Mode 1, bit 1
441
 
442
; TCCR1B - Timer/Counter1 Control Register B
443
.equ	CS10	= 0	; Clock Select1 bit 0
444
.equ	CS11	= 1	; Clock Select1 bit 1
445
.equ	CS12	= 2	; Clock Select1 bit 2
446
.equ	CTC1	= 3	; Clear Timer/Counter1 on Compare Match
447
.equ	ICES1	= 6	; Input Capture 1 Edge Select
448
.equ	ICNC1	= 7	; Input Capture 1 Noise Canceler
449
 
450
 
451
; ***** WATCHDOG *********************
452
; WDTCR - Watchdog Timer Control Register
453
.equ	WDP0	= 0	; Watch Dog Timer Prescaler bit 0
454
.equ	WDP1	= 1	; Watch Dog Timer Prescaler bit 1
455
.equ	WDP2	= 2	; Watch Dog Timer Prescaler bit 2
456
.equ	WDE	= 3	; Watch Dog Enable
457
.equ	WDTOE	= 4	; RW
458
.equ	WDDE	= WDTOE	; For compatibility
459
 
460
 
461
 
462
; ***** LOCKSBITS ********************************************************
463
.equ	LB1	= 0	; Lockbit
464
.equ	LB2	= 1	; Lockbit
465
 
466
 
467
; ***** FUSES ************************************************************
468
; LOW fuse bits
469
 
470
 
471
 
472
; ***** CPU REGISTER DEFINITIONS *****************************************
473
.def	XH	= r27
474
.def	XL	= r26
475
.def	YH	= r29
476
.def	YL	= r28
477
.def	ZH	= r31
478
.def	ZL	= r30
479
 
480
 
481
 
482
; ***** DATA MEMORY DECLARATIONS *****************************************
483
.equ	FLASHEND	= 0x07ff	; Note: Word address
484
.equ	IOEND	= 0x003f
485
.equ	SRAM_START	= 0x0060
486
.equ	SRAM_SIZE	= 128
487
.equ	RAMEND	= 0x00df
488
.equ	XRAMEND	= 0x0000
489
.equ	E2END	= 0x00ff
490
.equ	EEPROMEND	= 0x00ff
491
.equ	EEADRBITS	= 8
492
#pragma AVRPART MEMORY PROG_FLASH 4096
493
#pragma AVRPART MEMORY EEPROM 256
494
#pragma AVRPART MEMORY INT_SRAM SIZE 128
495
#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
496
 
497
 
498
 
499
 
500
 
501
; ***** INTERRUPT VECTORS ************************************************
502
.equ	INT0addr	= 0x0001	; External Interrupt 0
503
.equ	INT1addr	= 0x0002	; External Interrupt 1
504
.equ	ICP1addr	= 0x0003	; Timer/Counter Capture Event
505
.equ	OC1addr	= 0x0004	; Timer/Counter1 Compare Match
506
.equ	OVF1addr	= 0x0005	; Timer/Counter1 Overflow
507
.equ	OVF0addr	= 0x0006	; Timer/Counter0 Overflow
508
.equ	SPIaddr	= 0x0007	; Serial Transfer Complete
509
.equ	URXCaddr	= 0x0008	; UART, Rx Complete
510
.equ	UDREaddr	= 0x0009	; UART Data Register Empty
511
.equ	UTXCaddr	= 0x000a	; UART, Tx Complete
512
.equ	ADCCaddr	= 0x000b	; ADC Conversion Complete
513
.equ	ERDYaddr	= 0x000c	; EEPROM Ready
514
.equ	ACIaddr	= 0x000d	; Analog Comparator
515
 
516
.equ	INT_VECTORS_SIZE	= 14	; size in words
517
 
518
#pragma AVRPART CORE INSTRUCTIONS_NOT_SUPPORTED break
519
 
520
#endif  /* _4433DEF_INC_ */
521
 
522
; ***** END OF FILE ******************************************************