OSDN Git Service

v206
[fast-forth/master.git] / MSP430FR6989.inc
1 ; MSP430FR6989.inc
2 ; MSP430FR6989  minimal declarations for FastForth usage
3 DEVICE = "MSP430FR6989"
4
5
6 ; ----------------------------------------------
7 ; MSP430FR6989 MEMORY MAP
8 ; ----------------------------------------------
9
10 ; 0020-0FFF = peripherals (4 KB)
11 ; 1000-17FF = BootStrap Loader BSL0..3 (ROM 4x512 B)
12 ; 1800-187F = info D (FRAM 128 B)
13 ; 1880-18FF = info C (FRAM 128 B)
14 ; 1900-197F = info B (FRAM 128 B)
15 ; 1980-19FF = info A (FRAM 128 B)
16 ; 1A00-1AFF = TLV device descriptor info (FRAM 256 B)
17 ; 1B00-1BFF = Boot memory (ROM 256 B)
18 ; 1C00-23FF = RAM (2 KB)
19 ; 2000-43FF = unused
20 ; 4400-FF7F = code memory (FRAM 47999 B)
21 ; FF80-FFFF = interrupt vectors (FRAM 128 B)
22 ; 10000-23FFF = FRAM
23 ; ----------------------------------------------
24 PAGESIZE       .equ 512         ; MPU unit
25 ; ----------------------------------------------
26 ; FRAM                          ; INFO{D,C,B,A},TLV
27 ; ----------------------------------------------
28 INFOSTART      .equ 01800h
29 INFODSTART     .equ 01800h
30 INFODEND       .equ 0187Fh
31 INFOCSTART     .equ 01880h
32 INFOCEND       .equ 018FFh
33 INFOBSTART     .equ 01900h
34 INFOBEND       .equ 0197Fh
35 INFOASTART     .equ 01980h
36 INFOAEND       .equ 019FFh
37 TLVSTAT        .equ 01A00h      ; Device Descriptor Info (Tag-Lenght-Value)
38 TLVEND         .equ 01AFFh      ;
39 ; ----------------------------------------------
40 ; RAM
41 ; ----------------------------------------------
42 RAMSTART       .equ 01C00h
43 RAMEND         .equ 023FFh
44 RAMLEN          .equ 00800h
45 ; ----------------------------------------------
46 ; FRAM
47 ; ----------------------------------------------
48 PROGRAMSTART    .equ 04400h      ; Code space start
49 SIGNATURES      .equ 0FF80h      ; JTAG, BSL and IP Encapsulation signatures 1 and 2
50 JTAG_SIG1       .equ 0FF80h      ; if 0, enable JTAG/SBW
51 JTAG_SIG2       .equ 0FF82h      ; if JTAG_SIG1=0xAAAA, length of password string @ JTAG_PASSWORD
52 BSL_SIG1        .equ 0FF84h      ;
53 BSL_SIG2        .equ 0FF86h      ;
54 JTAG_PASSWORD   .equ 0FF86h      ; up to 0FFC5h : 256 bits
55 INTVECT         .equ 0FFC6h      ; FFC6-FFFF
56 VECTLEN         .equ 3Ah
57 BSL_PASSWORD    .equ 0FFE0h      ; up to 0FFFFh : 256 bits
58 ; ----------------------------------------------
59
60 ; ----------------------------------------------
61 ; Interrupt Vectors and signatures - MSP430FR6989
62 ; ----------------------------------------------
63
64 ;    .org    SIGNATURES
65 ;;Start of JTAG and BSL signatures
66 ;        .word   0FFFFh      ; JTAG signature 1
67 ;        .word   0FFFFh      ; JTAG signature 2
68 ;        .word   0FFFFh      ; BSL signature 1, 5555h to disable BSL
69 ;        .word   0FFFFh      ; BSL signature 2
70 ;
71 ;   .org JTAG_PASSWORD      ;Start of JTAG PASSWORD
72 ;
73 ;    .org    INTVECT         ; FFC6-FFFF 28 vectors + reset
74 ;        .word  reset        ; $FFC6  -  AES
75 ;        .word  reset        ; $FFC8  -  RTC_C
76 ;        .word  reset        ; $FFCA  -  LCD_C
77 ;        .word  reset        ; $FFCC  -  I/O Port 4
78 ;        .word  reset        ; $FFCE  -  I/O Port 3
79 ;        .word  reset        ; $FFD0  -  TA3_x
80 ;        .word  reset        ; $FFD2  -  TA3_0
81 ;        .word  reset        ; $FFD4  -  I/O Port P2
82 ;        .word  reset        ; $FFD6  -  TA2_x
83 ;        .word  reset        ; $FFD8  -  TA2_0
84 ;        .word  reset        ; $FFDA  -  I/O Port P1
85 ;        .word  reset        ; $FFDC  -  TA1_x
86 ;        .word  reset        ; $FFDE  -  TA1_0
87 ;;    .org BSL_PASSWORD      ;Start of BSL PASSWORD
88 ;        .word  reset        ; $FFE0  -  DMA
89 ;        .word  reset        ; $FFE2  -  eUSCI_B1
90 ;        .word  reset        ; $FFE4  -  eUSCI_A1
91 ;        .word  reset        ; $FFE6  -  TA0_x
92 ;        .word  reset        ; $FFE8  -  TA0_0
93 ;        .word  reset        ; $FFEA  -  ADC12_B
94 ;        .word  reset        ; $FFEC  -  eUSCI_B0
95 ;        .word  reset        ; $FFEE  -  eUSCI_A0
96 ;        .word  reset        ; $FFF0  -  Extended Scan IF
97 ;        .word  reset        ; $FFF2  -  Watchdog
98 ;        .word  reset        ; $FFF4  -  TB0_x
99 ;        .word  reset        ; $FFF6  -  TB0_0
100 ;        .word  reset        ; $FFF8  -  COMP_E
101 ;        .word  reset        ; $FFFA  -  userNMI
102 ;        .word  reset        ; $FFFC  -  sysNMI
103 ;        .word  reset        ; $FFFE  -  reset
104
105
106
107
108 ; ----------------------------------------------------------------------
109 ; EXP430FR6989 Peripheral File Map
110 ; ----------------------------------------------------------------------
111 SFR_SFR         .set 0100h           ; Special function
112 PMM_SFR         .set 0120h           ; PMM
113 FRAM_SFR        .set 0140h           ; FRAM control
114 CRC16_SFR       .set 0150h
115 RAMC_SFR        .set 0158h           ; RAM controller
116 WDT_A_SFR       .set 015Ch           ; Watchdog
117 CS_SFR          .set 0160h           ; Clock System
118 SYS_SFR         .set 0180h           ; SYS
119 REF_SFR         .set 01B0h           ; shared REF
120 PA_SFR          .set 0200h           ; PORT1/2
121 PB_SFR          .set 0220h           ; PORT3/4
122 PC_SFR          .set 0240h           ; PORT5/6
123 PD_SFR          .set 0260h           ; PORT7/8
124 PE_SFR          .set 0280h           ; PORT9/10
125 PJ_SFR          .set 0320h           ; PORTJ
126 TA0_SFR         .set 0340h
127 TA1_SFR         .set 0380h
128 TB0_SFR         .set 03C0h
129 TA2_SFR         .set 0400h
130 CTIO0_SFR       .set 0430h           ; Capacitive Touch IO
131 TA3_SFR         .set 0440h
132 CTIO1_SFR       .set 0470h           ; Capacitive Touch IO
133 RTC_C_SFR       .set 04A0h
134 MPY_SFR         .set 04C0h
135 DMA_CTRL_SFR    .set 0500h
136 DMA_CHN0_SFR    .set 0510h
137 DMA_CHN1_SFR    .set 0520h
138 DMA_CHN2_SFR    .set 0530h
139 MPU_SFR         .set 05A0h           ; memory protect unit
140 eUSCI_A0_SFR    .set 05C0h           ; eUSCI_A0
141 eUSCI_A1_SFR    .set 05E0h           ; eUSCI_A1
142 eUSCI_B0_SFR    .set 0640h           ; eUSCI_B0
143 eUSCI_B1_SFR    .set 0680h           ; eUSCI_B1
144 ADC12_B_SFR     .set 0800h
145 COMP_E_SFR      .set 08C0h
146 CRC32_SFR       .set 0980h
147 AES_SFR         .set 09C0h
148 LCD_SFR         .set 0A00h
149 ESI_SFR         .set 0D00h
150 ESI_RAM         .set 0E00h          ; 128 bytes
151
152
153 UCSWRST         .equ 1  ; eUSCI Software Reset
154 UCTXIE          .equ 2  ; eUSCI Transmit Interrupt Enable
155 UCRXIE          .equ 1  ; eUSCI Receive Interrupt Enable
156 UCTXIFG         .equ 2  ; eUSCI Transmit Interrupt Flag
157 UCRXIFG         .equ 1  ; eUSCI Receive Interrupt Flag
158
159
160 ; ----------------------------------------------------------------------
161 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
162 ; ----------------------------------------------------------------------
163 PMMCTL0     .set PMM_SFR
164 PMMSWBOR    .set 4
165
166 PM5CTL0     .set PMM_SFR + 10h    ; Power mode 5 control register 0
167 LOCKLPM5    .set 1
168
169 ; ----------------------------------------------------------------------
170 ; FRAM config
171 ; ----------------------------------------------------------------------
172 FRCTL0          .set FRAM_SFR + 00h   ; FRAM Controller Control 0
173 FRCTL0_H        .set FRAM_SFR + 01h   ; FRAM Controller Control 0 high byte
174
175 ; ----------------------------------------------------------------------
176 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
177 ; ----------------------------------------------------------------------
178
179 WDTCTL      .equ WDT_A_SFR + 00h    ; Watchdog Timer Control */
180
181 ; WDTCTL Control Bits
182 WDTPW       .equ 5A00h
183 WDTHOLD     .equ 0080h  ; WDT - Timer hold
184 WDTCNTCL    .equ 0008h  ; WDT timer counter clear
185
186 ; ----------------------------------------------------------------------
187 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
188 ; ----------------------------------------------------------------------
189
190 CSCTL0          .equ CS_SFR + 00h       ; CS Control Register 0
191 CSCTL0_H        .equ CS_SFR + 01h       ; CS Control Register 0 high byte
192 CSCTL1          .equ CS_SFR + 02h       ; CS Control Register 1
193 CSCTL2          .equ CS_SFR + 04h       ; CS Control Register 2
194 CSCTL3          .equ CS_SFR + 06h       ; CS Control Register 3
195
196 ; CSCTL0 Control Bits
197 CSKEY           .equ 0A5h           ; CS Password
198 ; CSCTL1 Control Bits
199 DCORSEL         .equ 0040h
200 DCOFSEL0        .equ 0002h           ; DCO frequency select Bit: 0
201 DCOFSEL1        .equ 0004h           ; DCO frequency select Bit: 1
202 DCOFSEL2        .equ 0008h           ; DCO frequency select Bit: 2
203 DCOFSEL3        .equ 000Ch           ; DCO frequency select Bit: 21
204 ; CSCTL2 Control Bits
205 SELA_LFXCLK     .equ 0000h           ; 0 : ACLK Source Select LFXCLK
206 SELA_VLOCLK     .equ 0100h           ; 1 ACLK Source Select VLOCLK 10kHz
207 SELS_DCOCLK     .equ 0030h           ; 3 : SMCLK Source Select DCOCLK
208 SELM_DCOCLK     .equ 0003h           ; 3 : MCLK Source Select DCOCLK
209 ; CSCTL3 Control Bits
210 DIVA_0          .equ 0000h           ; ACLK Source Divider 0
211 DIVS_0          .equ 0000h           ; SMCLK Source Divider 0
212 DIVM_0          .equ 0000h           ; MCLK Source Divider 0
213 DIVA_2          .equ 0100h           ; ACLK Source Divider 0
214 DIVS_2          .equ 0010h           ; SMCLK Source Divider 0
215 DIVM_2          .equ 0001h           ; MCLK Source Divider 0
216 DIVA_4          .equ 0200h           ; ACLK Source Divider 0
217 DIVS_4          .equ 0020h           ; SMCLK Source Divider 0
218 DIVM_4          .equ 0002h           ; MCLK Source Divider 0
219 DIVA_8          .equ 0300h           ; ACLK Source Divider 0
220 DIVS_8          .equ 0030h           ; SMCLK Source Divider 0
221 DIVM_8          .equ 0003h           ; MCLK Source Divider 0
222 DIVA_16         .equ 0400h           ; ACLK Source Divider 0
223 DIVS_16         .equ 0040h           ; SMCLK Source Divider 0
224 DIVM_16         .equ 0004h           ; MCLK Source Divider 0
225 DIVA_32         .equ 0500h           ; ACLK Source Divider 0
226 DIVS_32         .equ 0050h           ; SMCLK Source Divider 0
227 DIVM_32         .equ 0005h           ; MCLK Source Divider 0
228
229 ; ----------------------------------------------------------------------
230 ; POWER ON RESET AND INITIALIZATION : SYS REGISTERS
231 ; ----------------------------------------------------------------------
232
233 SYSUNIV     .equ SYS_SFR + 001Ah
234 SYSSNIV     .equ SYS_SFR + 001Ch
235 SYSRSTIV    .equ SYS_SFR + 001Eh
236
237 ; SYS Control Bits
238 ; ...
239 ; ----------------------------------------------------------------------
240 ; POWER ON RESET AND INITIALIZATION : REF
241 ; ----------------------------------------------------------------------
242
243 REFCTL      equ REF_SFR + 00h       ; REF Shared Reference control register 0
244
245 ; REFCTL0 Control Bits
246 REFON       equ 0001h               ; REF Reference On
247 REFTCOFF    equ 0008h               ; REF Temp.Sensor off
248
249 ; ----------------------------------------------------------------------
250 ; POWER ON RESET AND INITIALIZATION : PORT1/2
251 ; ----------------------------------------------------------------------
252
253 PAIN        .equ PA_SFR + 00h    ; Port A INput
254 PAOUT       .equ PA_SFR + 02h    ; Port A OUTput
255 PADIR       .equ PA_SFR + 04h    ; Port A DIRection
256 PAREN       .equ PA_SFR + 06h    ; Port A Resistor ENable
257 PASEL0      .equ PA_SFR + 0Ah    ; Port A SELection 0
258 PASEL1      .equ PA_SFR + 0Ch    ; Port A SELection 1
259 PASELC      .equ PA_SFR + 16h    ; Port A SELection Complement
260 PAIES       .equ PA_SFR + 18h    ; Port A Interrupt Edge Select
261 PAIE        .equ PA_SFR + 1Ah    ; Port A Interrupt Enable
262 PAIFG       .equ PA_SFR + 1Ch    ; Port A Interrupt FlaG
263
264 P1IN        .equ PA_SFR + 00h    ; Port 1 INput
265 P1OUT       .equ PA_SFR + 02h    ; Port 1 OUTput
266 P1DIR       .equ PA_SFR + 04h    ; Port 1 DIRection
267 P1REN       .equ PA_SFR + 06h    ; Port 1 Resistor ENable
268 P1SEL0      .equ PA_SFR + 0Ah    ; Port 1 SELection 0
269 P1SEL1      .equ PA_SFR + 0Ch    ; Port 1 SELection 1
270 P1SELC      .equ PA_SFR + 16h    ; Port 1 SELection Complement
271 P1IES       .equ PA_SFR + 18h    ; Port 1 Interrupt Edge Select
272 P1IE        .equ PA_SFR + 1Ah    ; Port 1 Interrupt Enable
273 P1IFG       .equ PA_SFR + 1Ch    ; Port 1 Interrupt FlaG
274 P1IV        .equ PA_SFR + 0Eh    ; Port 1 Interrupt Vector word 
275
276 P2IN        .equ PA_SFR + 01h    ; Port 2 INput
277 P2OUT       .equ PA_SFR + 03h    ; Port 2 OUTput
278 P2DIR       .equ PA_SFR + 05h    ; Port 2 DIRection
279 P2REN       .equ PA_SFR + 07h    ; Port 2 Resistor ENable
280 P2SEL0      .equ PA_SFR + 0Bh    ; Port 2 SELection 0
281 P2SEL1      .equ PA_SFR + 0Dh    ; Port 2 SELection 1
282 P2SELC      .equ PA_SFR + 17h    ; Port 2 SELection Complement
283 P2IES       .equ PA_SFR + 19h    ; Port 2 Interrupt Edge Select
284 P2IE        .equ PA_SFR + 1Bh    ; Port 2 Interrupt Enable
285 P2IFG       .equ PA_SFR + 1Dh    ; Port 2 Interrupt FlaG
286 P2IV        .equ PA_SFR + 1Eh    ; Port 2 Interrupt Vector word 
287
288 ; ----------------------------------------------------------------------
289 ; POWER ON RESET AND INITIALIZATION : PORT3/4
290 ; ----------------------------------------------------------------------
291
292 PBIN        .equ PB_SFR + 00h    ; Port B Input
293 PBOUT       .equ PB_SFR + 02h    ; Port B Output 1/0 or pullup/pulldown resistor
294 PBDIR       .equ PB_SFR + 04h    ; Port B Direction
295 PBREN       .equ PB_SFR + 06h    ; Port B Resistor Enable
296 PBSEL0      .equ PB_SFR + 0Ah    ; Port B Selection 0
297 PBSEL1      .equ PB_SFR + 0Ch    ; Port B Selection 1
298 PBSELC      .equ PB_SFR + 16h    ; Port B Complement Selection
299 PBIES       .equ PB_SFR + 18h    ; Port B Interrupt Edge Select
300 PBIE        .equ PB_SFR + 1Ah    ; Port B Interrupt Enable
301 PBIFG       .equ PB_SFR + 1Ch    ; Port B Interrupt Flag
302
303 P3IN        .equ PB_SFR + 00h    ; Port 3 Input */
304 P3OUT       .equ PB_SFR + 02h    ; Port 3 Output
305 P3DIR       .equ PB_SFR + 04h    ; Port 3 Direction
306 P3REN       .equ PB_SFR + 06h    ; Port 3 Resistor Enable
307 P3SEL0      .equ PB_SFR + 0Ah    ; Port 3 Selection 0
308 P3SEL1      .equ PB_SFR + 0Ch    ; Port 3 Selection 1
309 P3SELC      .equ PB_SFR + 16h    ; Port 3 Complement Selection
310 P3IES       .equ PB_SFR + 18h    ; Port 3 Interrupt Edge Select
311 P3IE        .equ PB_SFR + 1Ah    ; Port 3 Interrupt Enable
312 P3IFG       .equ PB_SFR + 1Ch    ; Port 3 Interrupt Flag
313 P3IV        .equ PB_SFR + 0Eh    ; Port 3 Interrupt Vector word 
314
315 P4IN        .equ PB_SFR + 01h    ; Port 4 Input */
316 P4OUT       .equ PB_SFR + 03h    ; Port 4 Output
317 P4DIR       .equ PB_SFR + 05h    ; Port 4 Direction
318 P4REN       .equ PB_SFR + 07h    ; Port 4 Resistor Enable
319 P4SEL0      .equ PB_SFR + 0Bh    ; Port 4 Selection 0
320 P4SEL1      .equ PB_SFR + 0Dh    ; Port 4 Selection 1
321 P4SELC      .equ PB_SFR + 17h    ; Port 4 Complement Selection
322 P4IES       .equ PB_SFR + 19h    ; Port 4 Interrupt Edge Select
323 P4IE        .equ PB_SFR + 1Bh    ; Port 4 Interrupt Enable
324 P4IFG       .equ PB_SFR + 1Dh    ; Port 4 Interrupt Flag
325 P4IV        .equ PB_SFR + 1Eh    ; Port 4 Interrupt Vector word 
326
327 ; ----------------------------------------------------------------------
328 ; POWER ON RESET AND INITIALIZATION : PORT5/6
329 ; ----------------------------------------------------------------------
330
331 PCIN        .set PC_SFR + 00h    ; Port C Input
332 PCOUT       .set PC_SFR + 02h    ; Port C Output 1/0 or pullup/pulldown resistor
333 PCDIR       .set PC_SFR + 04h    ; Port C Direction
334 PCREN       .set PC_SFR + 06h    ; Port C Resistor Enable
335 PCSEL0      .set PC_SFR + 0Ah    ; Port C Selection 0
336 PCSEL1      .set PC_SFR + 0Ch    ; Port C Selection 1
337 PCSELC      .set PC_SFR + 16h    ; Port C Complement Selection
338
339 P5IN        .set PC_SFR + 00h    ; Port 5 Input */
340 P5OUT       .set PC_SFR + 02h    ; Port 5 Output
341 P5DIR       .set PC_SFR + 04h    ; Port 5 Direction
342 P5REN       .set PC_SFR + 06h    ; Port 5 Resistor Enable
343 P5SEL0      .set PC_SFR + 0Ah    ; Port 5 Selection 0
344 P5SEL1      .set PC_SFR + 0Ch    ; Port 5 Selection 1
345 P5SELC      .set PC_SFR + 16h    ; Port 5 Complement Selection
346
347 P6IN        .set PC_SFR + 01h    ; Port 6 Input */
348 P6OUT       .set PC_SFR + 03h    ; Port 6 Output
349 P6DIR       .set PC_SFR + 05h    ; Port 6 Direction
350 P6REN       .set PC_SFR + 07h    ; Port 6 Resistor Enable
351 P6SEL0      .set PC_SFR + 0Bh    ; Port 6 Selection 0
352 P6SEL1      .set PC_SFR + 0Dh    ; Port 6 Selection 1
353 P6SELC      .set PC_SFR + 17h    ; Port 6 Complement Selection
354
355 ; ----------------------------------------------------------------------
356 ; POWER ON RESET AND INITIALIZATION : PORT7/8
357 ; ----------------------------------------------------------------------
358
359 PDIN        .set PD_SFR + 00h    ; Port D Input
360 PDOUT       .set PD_SFR + 02h    ; Port D Output 1/0 or pullup/pulldown resistor
361 PDDIR       .set PD_SFR + 04h    ; Port D Direction
362 PDREN       .set PD_SFR + 06h    ; Port D Resistor Enable
363 PDSEL0      .set PD_SFR + 0Ah    ; Port D Selection 0
364 PDSEL1      .set PD_SFR + 0Ch    ; Port D Selection 1
365 PDSELC      .set PD_SFR + 16h    ; Port D Complement Selection
366
367 P7IN        .set PD_SFR + 00h    ; Port 7 Input */
368 P7OUT       .set PD_SFR + 02h    ; Port 7 Output
369 P7DIR       .set PD_SFR + 04h    ; Port 7 Direction
370 P7REN       .set PD_SFR + 06h    ; Port 7 Resistor Enable
371 P7SEL0      .set PD_SFR + 0Ah    ; Port 7 Selection 0
372 P7SEL1      .set PD_SFR + 0Ch    ; Port 7 Selection 1
373 P7SELC      .set PD_SFR + 16h    ; Port 7 Complement Selection
374
375 P8IN        .set PD_SFR + 01h    ; Port 8 Input */
376 P8OUT       .set PD_SFR + 03h    ; Port 8 Output
377 P8DIR       .set PD_SFR + 05h    ; Port 8 Direction
378 P8REN       .set PD_SFR + 07h    ; Port 8 Resistor Enable
379 P8SEL0      .set PD_SFR + 0Bh    ; Port 8 Selection 0
380 P8SEL1      .set PD_SFR + 0Dh    ; Port 8 Selection 1
381 P8SELC      .set PD_SFR + 17h    ; Port 8 Complement Selection
382
383 ; ----------------------------------------------------------------------
384 ; POWER ON RESET AND INITIALIZATION : PORT9/10
385 ; ----------------------------------------------------------------------
386
387 PEIN        .set PE_SFR + 00h    ; Port E Input
388 PEOUT       .set PE_SFR + 02h    ; Port E Output 1/0 or pullup/pulldown resistor
389 PEDIR       .set PE_SFR + 04h    ; Port E Direction
390 PEREN       .set PE_SFR + 06h    ; Port E Resistor Enable
391 PESEL0      .set PE_SFR + 0Ah    ; Port E Selection 0
392 PESEL1      .set PE_SFR + 0Ch    ; Port E Selection 1
393 PESELC      .set PE_SFR + 16h    ; Port E Complement Selection
394
395 P9IN        .set PE_SFR + 00h    ; Port 9 Input */
396 P9OUT       .set PE_SFR + 02h    ; Port 9 Output
397 P9DIR       .set PE_SFR + 04h    ; Port 9 Direction
398 P9REN       .set PE_SFR + 06h    ; Port 9 Resistor Enable
399 P9SEL0      .set PE_SFR + 0Ah    ; Port 9 Selection 0
400 P9SEL1      .set PE_SFR + 0Ch    ; Port 9 Selection 1
401 P9SELC      .set PE_SFR + 16h    ; Port 9 Complement Selection
402
403 P10IN        .set PE_SFR + 01h    ; Port 10 Input */
404 P10OUT       .set PE_SFR + 03h    ; Port 10 Output
405 P10DIR       .set PE_SFR + 05h    ; Port 10 Direction
406 P10REN       .set PE_SFR + 07h    ; Port 10 Resistor Enable
407 P10SEL0      .set PE_SFR + 0Bh    ; Port 10 Selection 0
408 P10SEL1      .set PE_SFR + 0Dh    ; Port 10 Selection 1
409 P10SELC      .set PE_SFR + 17h    ; Port 10 Complement Selection
410
411 ; ----------------------------------------------------------------------
412 ; POWER ON RESET AND INITIALIZATION : PORTJ
413 ; ----------------------------------------------------------------------
414
415 PJIN        .equ PJ_SFR + 00h   ; Port J INput
416 PJOUT       .equ PJ_SFR + 02h   ; Port J OUTput
417 PJDIR       .equ PJ_SFR + 04h   ; Port J DIRection
418 PJREN       .equ PJ_SFR + 06h   ; Port J Resistor ENable
419 PJSEL0      .equ PJ_SFR + 0Ah   ; Port 2 SELection 0
420 PJSEL1      .equ PJ_SFR + 0Ch   ; Port 2 SELection 1
421 PJSELC      .equ PJ_SFR + 16h   ; Port 2 SELection Complement; PJ 5-0 usage
422
423 ; ----------------------------------------------------------------------
424 RTC_C
425 ; ----------------------------------------------------------------------
426 RTCCTL0_L     .set RTC_C_SFR + 00h
427 RTCCTL0_H     .set RTC_C_SFR + 01h
428 RTCCTL1       .set RTC_C_SFR + 02h
429 RTCCTL3       .set RTC_C_SFR + 03h
430 RTCOCAL       .set RTC_C_SFR + 04h
431 RTCTCMP       .set RTC_C_SFR + 06h
432 RTCPS0CTL     .set RTC_C_SFR + 08h
433 RTCPS1CTL     .set RTC_C_SFR + 0Ah
434 RTCPS         .set RTC_C_SFR + 0Ch ; = RT1PS:RT0PS
435 RTCIV         .set RTC_C_SFR + 0Eh
436 RTCSEC        .set RTC_C_SFR + 10h
437 RTCCNT1       .set RTC_C_SFR + 10h     
438 RTCMIN        .set RTC_C_SFR + 11h
439 RTCCNT2       .set RTC_C_SFR + 11h
440 RTCHOUR       .set RTC_C_SFR + 12h
441 RTCCNT3       .set RTC_C_SFR + 12h
442 RTCDOW        .set RTC_C_SFR + 13h
443 RTCCNT4       .set RTC_C_SFR + 13h
444 RTCDAY        .set RTC_C_SFR + 14h
445 RTCMON        .set RTC_C_SFR + 15h
446 RTCYEAR       .set RTC_C_SFR + 16h
447
448 RTCHOLD       .set 40h
449 RTCRDY        .set 10h
450
451 ; ----------------------------------------------------------------------
452 MPY_32
453 ; ----------------------------------------------------------------------
454
455 MPY       .equ MPY_SFR + 00h    ; Multiply16 Unsigned/Operand 1 */
456 MPYS      .equ MPY_SFR + 02h    ; Multiply16 signed/Operand 1
457 MAC       .equ MPY_SFR + 04h    ; MultiplyAccumulate16 Unsigned/Operand 1 */
458 MACS      .equ MPY_SFR + 06h    ; MultiplyAccumulate16 signed/Operand 1
459 OP2       .equ MPY_SFR + 08h    ; Operand2_16 */
460 RESLO     .equ MPY_SFR + 0Ah    ; 16x16-bit result low - least significant word */
461 RESHI     .equ MPY_SFR + 0Ch    ; 16x16-bit result high */
462 SUMEXT    .equ MPY_SFR + 0Eh    ; 16x16-bit sum extension register
463 MPY32L    .equ MPY_SFR + 10h    ; Multiply32 Unsigned/Operand 1
464 MPY32H    .equ MPY_SFR + 12h    ; Multiply32 Unsigned/Operand 1
465 MPYS32L   .equ MPY_SFR + 14h    ; Multiply32 signed/Operand 1
466 MPYS32H   .equ MPY_SFR + 16h    ; Multiply32 signed/Operand 1
467 MAC32L    .equ MPY_SFR + 18h    ; MultiplyAccumulate32 Unsigned/Operand 1
468 MAC32H    .equ MPY_SFR + 1Ah    ; MultiplyAccumulate32 Unsigned/Operand 1
469 MACS32L   .equ MPY_SFR + 1Ch    ; MultiplyAccumulate32 signed/Operand 1
470 MACS32H   .equ MPY_SFR + 1Eh    ; MultiplyAccumulate32 signed/Operand 1
471 OP2L      .equ MPY_SFR + 20h    ; Multiply32 Operand 2
472 OP2H      .equ MPY_SFR + 22h    ; Multiply32 Operand 2
473 RES0      .equ MPY_SFR + 24h    ; 32x32-bit result 0 - least significant word */
474 RES1      .equ MPY_SFR + 26h    ; 32x32-bit result 1 */
475 RES2      .equ MPY_SFR + 28h    ; 32x32-bit result 2 */
476 RES3      .equ MPY_SFR + 2Ah    ; 32x32-bit result 3 */
477 MPY32CTL0 .equ MPY_SFR + 2Ch    ; MPY32 control register 0
478
479
480 ; ----------------------------------------------------------------------
481 ; eUSCI_A0
482 ; ----------------------------------------------------------------------
483
484     .IFDEF UCA0_TERM
485 TERMCTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
486 TERMBRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
487 TERMMCTLW       .equ eUSCI_A0_SFR + 08h    ; eUSCI_A0 Modulation Control
488 TERMRXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer
489 TERMTXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer
490 TERMIE          .equ eUSCI_A0_SFR + 1Ah    ; eUSCI_A0 Interrupt Enable Register
491 TERMIFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
492 TERMVEC         .equ 0FFEEh      ;  interrupt vector for  eUSCI_A0
493     .ENDIF ;UCA0_TERM
494
495     .IFDEF UCA0_SD
496 SD_CTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
497 SD_BRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
498 SD_RXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer 8
499 SD_TXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer 8
500 SD_IFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
501     .ENDIF ;UCA0_SD
502
503 ; ----------------------------------------------------------------------
504 ; eUSCI_A1
505 ; ----------------------------------------------------------------------
506
507     .IFDEF UCA1_TERM
508 TERMCTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
509 TERMBRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
510 TERMMCTLW       .equ eUSCI_A1_SFR + 08h    ; eUSCI_A1 Modulation Control
511 TERMRXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer
512 TERMTXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer
513 TERMIE          .equ eUSCI_A1_SFR + 1Ah    ; eUSCI_A1 Interrupt Enable Register
514 TERMIFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
515 TERMVEC         .equ 0FFE4h      ;  interrupt vector for  eUSCI_A1
516     .ENDIF ;UCA1_TERM
517
518     .IFDEF UCA1_SD
519 SD_CTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
520 SD_BRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
521 SD_RXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer 8
522 SD_TXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer 8
523 SD_IFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
524     .ENDIF ;UCA1_SD
525
526
527 ; ----------------------------------------------------------------------
528 ; eUSCI_B0
529 ; ----------------------------------------------------------------------
530     .IFDEF UCB0_SD
531 SD_CTLW0       .equ eUSCI_B0_SFR + 00h    ; eUSCI_B0 Control Word Register 0
532 SD_BRW         .equ eUSCI_B0_SFR + 06h    ; eUSCI_B0 Baud Word Rate 0
533 SD_RXBUF       .equ eUSCI_B0_SFR + 0Ch    ; eUSCI_B0 Receive Buffer 8
534 SD_TXBUF       .equ eUSCI_B0_SFR + 0Eh    ; eUSCI_B0 Transmit Buffer 8
535 SD_IFG         .equ eUSCI_B0_SFR + 2Ch    ; eUSCI_B0 Interrupt Flags Register
536     .ENDIF ;UCB0_SD
537
538 UCB0STATW       .equ eUSCI_B0_SFR + 08h     ; eUSCI_B0 Status words
539