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: AT90S2323.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         : "2323def.inc"
8
;* Title             : Register/Bit Definitions for the AT90S2323
9
;* Date              : 2005-01-11
10
;* Version           : 2.14
11
;* Support E-mail    : avr@atmel.com
12
;* Target MCU        : AT90S2323
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 _2323DEF_INC_
41
#define _2323DEF_INC_
42
 
43
 
44
#pragma partinc 0
45
 
46
; ***** SPECIFY DEVICE ***************************************************
47
.device AT90S2323
48
#pragma AVRPART ADMIN PART_NAME AT90S2323
49
.equ	SIGNATURE_000	= 0x1e
50
.equ	SIGNATURE_001	= 0x91
51
.equ	SIGNATURE_002	= 0x02
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	SPL	= 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	WDTCR	= 0x21
71
.equ	EEAR	= 0x1e
72
.equ	EEDR	= 0x1d
73
.equ	EECR	= 0x1c
74
.equ	PORTB	= 0x18
75
.equ	DDRB	= 0x17
76
.equ	PINB	= 0x16
77
 
78
 
79
; ***** BIT DEFINITIONS **************************************************
80
 
81
; ***** CPU **************************
82
; SREG - Status Register
83
.equ	SREG_C	= 0	; Carry Flag
84
.equ	SREG_Z	= 1	; Zero Flag
85
.equ	SREG_N	= 2	; Negative Flag
86
.equ	SREG_V	= 3	; Two's Complement Overflow Flag
87
.equ	SREG_S	= 4	; Sign Bit
88
.equ	SREG_H	= 5	; Half Carry Flag
89
.equ	SREG_T	= 6	; Bit Copy Storage
90
.equ	SREG_I	= 7	; Global Interrupt Enable
91
 
92
; SPL - Stack Pointer Low
93
.equ	SP0	= 0	; Stack pointer bit 0
94
.equ	SP1	= 1	; Stack pointer bit 1
95
.equ	SP2	= 2	; Stack pointer bit 2
96
.equ	SP3	= 3	; Stack pointer bit 3
97
.equ	SP4	= 4
98
.equ	SP5	= 5	; Stack pointer bit 5
99
.equ	SP6	= 6	; Stack pointer bit 6
100
.equ	SP7	= 7	; Stack pointer bit 7
101
 
102
; MCUCR - MCU Control Register
103
.equ	ISC00	= 0	; Interrupt Sense Control 0 bit 0
104
.equ	ISC01	= 1	; Interrupt Sense Control 0 bit 1
105
.equ	SM	= 4	; Sleep Mode
106
.equ	SE	= 5	; Sleep Enable
107
 
108
; MCUSR -
109
.equ	PORF	= 0	; Power On Reset Flag
110
.equ	EXTRF	= 1	; Externl Reset Flag
111
 
112
; GIMSK - General Interrupt Mask Register
113
.equ	INT0	= 6	; External Interrupt Request 0 Enable
114
 
115
; GIFR - General Interrupt Flag Register
116
.equ	INTF0	= 6	; External Interrupt Flag 0
117
 
118
 
119
; ***** EEPROM ***********************
120
; EEAR - EEPROM Read/Write Access
121
.equ	EEAR0	= 0	; EEPROM Read/Write Access bit 0
122
.equ	EEAR1	= 1	; EEPROM Read/Write Access bit 1
123
.equ	EEAR2	= 2	; EEPROM Read/Write Access bit 2
124
.equ	EEAR3	= 3	; EEPROM Read/Write Access bit 3
125
.equ	EEAR4	= 4	; EEPROM Read/Write Access bit 4
126
.equ	EEAR5	= 5	; EEPROM Read/Write Access bit 5
127
.equ	EEAR6	= 6	; EEPROM Read/Write Access bit 6
128
 
129
; EEDR - EEPROM Data Register
130
.equ	EEDR0	= 0	; EEPROM Data Register bit 0
131
.equ	EEDR1	= 1	; EEPROM Data Register bit 1
132
.equ	EEDR2	= 2	; EEPROM Data Register bit 2
133
.equ	EEDR3	= 3	; EEPROM Data Register bit 3
134
.equ	EEDR4	= 4	; EEPROM Data Register bit 4
135
.equ	EEDR5	= 5	; EEPROM Data Register bit 5
136
.equ	EEDR6	= 6	; EEPROM Data Register bit 6
137
.equ	EEDR7	= 7	; EEPROM Data Register bit 7
138
 
139
; EECR - EEPROM Control Register
140
.equ	EERE	= 0	; EEPROM Read Enable
141
.equ	EEWE	= 1	; EEPROM Write Enable
142
.equ	EEMWE	= 2	; EEPROM Master Write Enable
143
 
144
 
145
; ***** WATCHDOG *********************
146
; WDTCR - Watchdog Timer Control Register
147
.equ	WDP0	= 0	; Watch Dog Timer Prescaler bit 0
148
.equ	WDP1	= 1	; Watch Dog Timer Prescaler bit 1
149
.equ	WDP2	= 2	; Watch Dog Timer Prescaler bit 2
150
.equ	WDE	= 3	; Watch Dog Enable
151
.equ	WDTOE	= 4	; RW
152
.equ	WDDE	= WDTOE	; For compatibility
153
 
154
 
155
; ***** TIMER_COUNTER_0 **************
156
; TIMSK - Timer/Counter Interrupt Mask Register
157
.equ	TOIE0	= 1	; Timer/Counter0 Overflow Interrupt Enable
158
 
159
; TIFR - Timer/Counter Interrupt Flag register
160
.equ	TOV0	= 1	; Timer/Counter0 Overflow Flag
161
 
162
; TCCR0 - Timer/Counter0 Control Register
163
.equ	CS00	= 0	; Clock Select0 bit 0
164
.equ	CS01	= 1	; Clock Select0 bit 1
165
.equ	CS02	= 2	; Clock Select0 bit 2
166
 
167
; TCNT0 - Timer Counter 0
168
.equ	TCNT00	= 0	; Timer Counter 0 bit 0
169
.equ	TCNT01	= 1	; Timer Counter 0 bit 1
170
.equ	TCNT02	= 2	; Timer Counter 0 bit 2
171
.equ	TCNT03	= 3	; Timer Counter 0 bit 3
172
.equ	TCNT04	= 4	; Timer Counter 0 bit 4
173
.equ	TCNT05	= 5	; Timer Counter 0 bit 5
174
.equ	TCNT06	= 6	; Timer Counter 0 bit 6
175
.equ	TCNT07	= 7	; Timer Counter 0 bit 7
176
 
177
 
178
; ***** PORTB ************************
179
; PORTB - Data Register, Port B
180
.equ	PORTB0	= 0	;
181
.equ	PB0	= 0	; For compatibility
182
.equ	PORTB1	= 1	;
183
.equ	PB1	= 1	; For compatibility
184
.equ	PORTB2	= 2	;
185
.equ	PB2	= 2	; For compatibility
186
 
187
; DDRB - Data Direction Register, Port B
188
.equ	DDB0	= 0	;
189
.equ	DDB1	= 1	;
190
.equ	DDB2	= 2	;
191
 
192
; PINB - Input Pins, Port B
193
.equ	PINB0	= 0	;
194
.equ	PINB1	= 1	;
195
.equ	PINB2	= 2	;
196
 
197
 
198
 
199
; ***** LOCKSBITS ********************************************************
200
.equ	LB1	= 0	; Lockbit
201
.equ	LB2	= 1	; Lockbit
202
 
203
 
204
; ***** FUSES ************************************************************
205
; LOW fuse bits
206
 
207
 
208
 
209
; ***** CPU REGISTER DEFINITIONS *****************************************
210
.def	XH	= r27
211
.def	XL	= r26
212
.def	YH	= r29
213
.def	YL	= r28
214
.def	ZH	= r31
215
.def	ZL	= r30
216
 
217
 
218
 
219
; ***** DATA MEMORY DECLARATIONS *****************************************
220
.equ	FLASHEND	= 0x03ff	; Note: Word address
221
.equ	IOEND	= 0x003f
222
.equ	SRAM_START	= 0x0060
223
.equ	SRAM_SIZE	= 128
224
.equ	RAMEND	= 0x00df
225
.equ	XRAMEND	= 0x0000
226
.equ	E2END	= 0x007f
227
.equ	EEPROMEND	= 0x007f
228
.equ	EEADRBITS	= 7
229
#pragma AVRPART MEMORY PROG_FLASH 2048
230
#pragma AVRPART MEMORY EEPROM 128
231
#pragma AVRPART MEMORY INT_SRAM SIZE 128
232
#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
233
 
234
 
235
 
236
 
237
 
238
; ***** INTERRUPT VECTORS ************************************************
239
.equ	INT0addr	= 0x0001	; External Interrupt 0
240
.equ	OVF0addr	= 0x0002	; Timer/Counter0 Overflow
241
 
242
.equ	INT_VECTORS_SIZE	= 3	; size in words
243
 
244
#pragma AVRPART CORE INSTRUCTIONS_NOT_SUPPORTED break
245
 
246
#endif  /* _2323DEF_INC_ */
247
 
248
; ***** END OF FILE ******************************************************