2 ; MSP430FR6989 minimal declarations for FastForth usage
3 DEVICE = "MSP430FR6989"
6 ; ----------------------------------------------
7 ; MSP430FR6989 MEMORY MAP
8 ; ----------------------------------------------
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)
20 ; 4400-FF7F = code memory (FRAM 47999 B)
21 ; FF80-FFFF = interrupt vectors (FRAM 128 B)
23 ; ----------------------------------------------
24 PAGESIZE .equ 512 ; MPU unit
25 ; ----------------------------------------------
26 ; FRAM ; INFO{D,C,B,A},TLV
27 ; ----------------------------------------------
38 TLV_ORG .equ 01A00h ; Device Descriptor Info (Tag-Lenght-Value)
40 ; ----------------------------------------------
42 ; ----------------------------------------------
45 ; ----------------------------------------------
47 ; ----------------------------------------------
48 MAIN_ORG .equ 04400h ; Code space start
49 MAIN_LEN .equ 1FC00h ; 127 k FRAM
50 SIGNATURES .equ 0FF80h ; JTAG, BSL and IP Encapsulation signatures 1 and 2
51 JTAG_SIG1 .equ 0FF80h ; if 0, enable JTAG/SBW
52 JTAG_SIG2 .equ 0FF82h ; if JTAG_SIG1=0xAAAA, length of password string @ JTAG_PASSWORD
53 BSL_SIG1 .equ 0FF84h ;
54 BSL_SIG2 .equ 0FF86h ;
55 JTAG_PASSWORD .equ 0FF86h ; up to 0FFC5h : 256 bits
56 VECT_ORG .equ 0FFC6h ; FFC6-FFFF
58 BSL_PASSWORD .equ 0FFE0h ; up to 0FFFFh : 256 bits
59 ; ----------------------------------------------
61 ; ----------------------------------------------
62 ; Interrupt Vectors and signatures - MSP430FR6989
63 ; ----------------------------------------------
66 ;;Start of JTAG and BSL signatures
67 ; .word 0FFFFh ; JTAG signature 1
68 ; .word 0FFFFh ; JTAG signature 2
69 ; .word 0FFFFh ; BSL signature 1, 5555h to disable BSL
70 ; .word 0FFFFh ; BSL signature 2
72 ; .org JTAG_PASSWORD ;Start of JTAG PASSWORD
74 ; .org INTVECT ; FFC6-FFFF 28 vectors + reset
75 ; .word reset ; 0FFC6h - AES
76 ; .word reset ; 0FFC8h - RTC_C
77 ; .word reset ; 0FFCAh - LCD_C
78 ; .word reset ; 0FFCCh - I/O Port 4
79 ; .word reset ; 0FFCEh - I/O Port 3
80 ; .word reset ; 0FFD0h - TA3_x
81 ; .word reset ; 0FFD2h - TA3_0
82 ; .word reset ; 0FFD4h - I/O Port P2
83 ; .word reset ; 0FFD6h - TA2_x
84 ; .word reset ; 0FFD8h - TA2_0
85 ; .word reset ; 0FFDAh - I/O Port P1
86 ; .word reset ; 0FFDCh - TA1_x
87 ; .word reset ; 0FFDEh - TA1_0
88 ;; .org BSL_PASSWORD ;Start of BSL PASSWORD
89 ; .word reset ; 0FFE0h - DMA
90 ; .word reset ; 0FFE2h - eUSCI_B1
91 ; .word reset ; 0FFE4h - eUSCI_A1
92 ; .word reset ; 0FFE6h - TA0_x
93 ; .word reset ; 0FFE8h - TA0_0
94 ; .word reset ; 0FFEAh - ADC12_B
95 ; .word reset ; 0FFECh - eUSCI_B0
96 ; .word reset ; 0FFEEh - eUSCI_A0
97 ; .word reset ; 0FFF0h - Extended Scan IF
98 ; .word reset ; 0FFF2h - Watchdog
99 ; .word reset ; 0FFF4h - TB0_x
100 ; .word reset ; 0FFF6h - TB0_0
101 ; .word reset ; 0FFF8h - COMP_E
102 ; .word reset ; 0FFFAh - userNMI
103 ; .word reset ; 0FFFCh - sysNMI
104 ; .word reset ; 0FFFEh - reset
109 ; ----------------------------------------------------------------------
110 ; EXP430FR6989 Peripheral File Map
111 ; ----------------------------------------------------------------------
112 SFR_SFR .set 0100h ; Special function
113 PMM_SFR .set 0120h ; PMM
114 FRAM_SFR .set 0140h ; FRAM control
116 RAMC_SFR .set 0158h ; RAM controller
117 WDT_A_SFR .set 015Ch ; Watchdog
118 CS_SFR .set 0160h ; Clock System
119 SYS_SFR .set 0180h ; SYS
120 REF_SFR .set 01B0h ; shared REF
121 PA_SFR .set 0200h ; PORT1/2
122 PB_SFR .set 0220h ; PORT3/4
123 PC_SFR .set 0240h ; PORT5/6
124 PD_SFR .set 0260h ; PORT7/8
125 PE_SFR .set 0280h ; PORT9/10
126 PJ_SFR .set 0320h ; PORTJ
131 CTIO0_SFR .set 0430h ; Capacitive Touch IO
133 CTIO1_SFR .set 0470h ; Capacitive Touch IO
136 DMA_CTRL_SFR .set 0500h
137 DMA_CHN0_SFR .set 0510h
138 DMA_CHN1_SFR .set 0520h
139 DMA_CHN2_SFR .set 0530h
140 MPU_SFR .set 05A0h ; memory protect unit
141 eUSCI_A0_SFR .set 05C0h ; eUSCI_A0
142 eUSCI_A1_SFR .set 05E0h ; eUSCI_A1
143 eUSCI_B0_SFR .set 0640h ; eUSCI_B0
144 eUSCI_B1_SFR .set 0680h ; eUSCI_B1
145 ADC12_B_SFR .set 0800h
146 COMP_E_SFR .set 08C0h
151 ESI_RAM .set 0E00h ; 128 bytes
154 UCSWRST .equ 1 ; eUSCI Software Reset
155 UCTXIE .equ 2 ; eUSCI Transmit Interrupt Enable
156 UCRXIE .equ 1 ; eUSCI Receive Interrupt Enable
157 UCTXIFG .equ 2 ; eUSCI Transmit Interrupt Flag
158 UCRXIFG .equ 1 ; eUSCI Receive Interrupt Flag
161 ; ----------------------------------------------------------------------
162 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
163 ; ----------------------------------------------------------------------
165 SFRIFG1 .equ SFR_SFR + 2
166 SFRRPCR .equ SFR_SFR + 4
171 PM5CTL0 .set PMM_SFR + 10h ; Power mode 5 control register 0
174 ; ----------------------------------------------------------------------
176 ; ----------------------------------------------------------------------
177 FRCTL0 .set FRAM_SFR + 00h ; FRAM Controller Control 0
178 FRCTL0_H .set FRAM_SFR + 01h ; FRAM Controller Control 0 high byte
180 ; ----------------------------------------------------------------------
181 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
182 ; ----------------------------------------------------------------------
184 WDTCTL .equ WDT_A_SFR + 00h ; Watchdog Timer Control */
186 ; WDTCTL Control Bits
188 WDTHOLD .equ 0080h ; WDT - Timer hold
189 WDTCNTCL .equ 0008h ; WDT timer counter clear
191 ; ----------------------------------------------------------------------
192 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
193 ; ----------------------------------------------------------------------
195 CSCTL0 .equ CS_SFR + 00h ; CS Control Register 0
196 CSCTL0_H .equ CS_SFR + 01h ; CS Control Register 0 high byte
197 CSCTL1 .equ CS_SFR + 02h ; CS Control Register 1
198 CSCTL2 .equ CS_SFR + 04h ; CS Control Register 2
199 CSCTL3 .equ CS_SFR + 06h ; CS Control Register 3
201 ; CSCTL0 Control Bits
202 CSKEY .equ 0A5h ; CS Password
203 ; CSCTL1 Control Bits
205 DCOFSEL0 .equ 0002h ; DCO frequency select Bit: 0
206 DCOFSEL1 .equ 0004h ; DCO frequency select Bit: 1
207 DCOFSEL2 .equ 0008h ; DCO frequency select Bit: 2
208 DCOFSEL3 .equ 000Ch ; DCO frequency select Bit: 21
209 ; CSCTL2 Control Bits
210 SELA_LFXCLK .equ 0000h ; 0 : ACLK Source Select LFXCLK
211 SELA_VLOCLK .equ 0100h ; 1 ACLK Source Select VLOCLK 10kHz
212 SELS_DCOCLK .equ 0030h ; 3 : SMCLK Source Select DCOCLK
213 SELM_DCOCLK .equ 0003h ; 3 : MCLK Source Select DCOCLK
214 ; CSCTL3 Control Bits
215 DIVA_0 .equ 0000h ; ACLK Source Divider 0
216 DIVS_0 .equ 0000h ; SMCLK Source Divider 0
217 DIVM_0 .equ 0000h ; MCLK Source Divider 0
218 DIVA_2 .equ 0100h ; ACLK Source Divider 0
219 DIVS_2 .equ 0010h ; SMCLK Source Divider 0
220 DIVM_2 .equ 0001h ; MCLK Source Divider 0
221 DIVA_4 .equ 0200h ; ACLK Source Divider 0
222 DIVS_4 .equ 0020h ; SMCLK Source Divider 0
223 DIVM_4 .equ 0002h ; MCLK Source Divider 0
224 DIVA_8 .equ 0300h ; ACLK Source Divider 0
225 DIVS_8 .equ 0030h ; SMCLK Source Divider 0
226 DIVM_8 .equ 0003h ; MCLK Source Divider 0
227 DIVA_16 .equ 0400h ; ACLK Source Divider 0
228 DIVS_16 .equ 0040h ; SMCLK Source Divider 0
229 DIVM_16 .equ 0004h ; MCLK Source Divider 0
230 DIVA_32 .equ 0500h ; ACLK Source Divider 0
231 DIVS_32 .equ 0050h ; SMCLK Source Divider 0
232 DIVM_32 .equ 0005h ; MCLK Source Divider 0
234 ; ----------------------------------------------------------------------
235 ; POWER ON RESET AND INITIALIZATION : SYS REGISTERS
236 ; ----------------------------------------------------------------------
238 SYSUNIV .equ SYS_SFR + 001Ah
239 SYSSNIV .equ SYS_SFR + 001Ch
240 SYSRSTIV .equ SYS_SFR + 001Eh
244 ; ----------------------------------------------------------------------
245 ; POWER ON RESET AND INITIALIZATION : REF
246 ; ----------------------------------------------------------------------
248 REFCTL equ REF_SFR + 00h ; REF Shared Reference control register 0
250 ; REFCTL0 Control Bits
251 REFON equ 0001h ; REF Reference On
252 REFTCOFF equ 0008h ; REF Temp.Sensor off
254 ; ----------------------------------------------------------------------
255 ; POWER ON RESET AND INITIALIZATION : PORT1/2
256 ; ----------------------------------------------------------------------
258 PAIN .equ PA_SFR + 00h ; Port A INput
259 PAOUT .equ PA_SFR + 02h ; Port A OUTput
260 PADIR .equ PA_SFR + 04h ; Port A DIRection
261 PAREN .equ PA_SFR + 06h ; Port A Resistor ENable
262 PASEL0 .equ PA_SFR + 0Ah ; Port A SELection 0
263 PASEL1 .equ PA_SFR + 0Ch ; Port A SELection 1
264 PASELC .equ PA_SFR + 16h ; Port A SELection Complement
265 PAIES .equ PA_SFR + 18h ; Port A Interrupt Edge Select
266 PAIE .equ PA_SFR + 1Ah ; Port A Interrupt Enable
267 PAIFG .equ PA_SFR + 1Ch ; Port A Interrupt FlaG
269 P1IN .equ PA_SFR + 00h ; Port 1 INput
270 P1OUT .equ PA_SFR + 02h ; Port 1 OUTput
271 P1DIR .equ PA_SFR + 04h ; Port 1 DIRection
272 P1REN .equ PA_SFR + 06h ; Port 1 Resistor ENable
273 P1SEL0 .equ PA_SFR + 0Ah ; Port 1 SELection 0
274 P1SEL1 .equ PA_SFR + 0Ch ; Port 1 SELection 1
275 P1SELC .equ PA_SFR + 16h ; Port 1 SELection Complement
276 P1IES .equ PA_SFR + 18h ; Port 1 Interrupt Edge Select
277 P1IE .equ PA_SFR + 1Ah ; Port 1 Interrupt Enable
278 P1IFG .equ PA_SFR + 1Ch ; Port 1 Interrupt FlaG
279 P1IV .equ PA_SFR + 0Eh ; Port 1 Interrupt Vector word
281 P2IN .equ PA_SFR + 01h ; Port 2 INput
282 P2OUT .equ PA_SFR + 03h ; Port 2 OUTput
283 P2DIR .equ PA_SFR + 05h ; Port 2 DIRection
284 P2REN .equ PA_SFR + 07h ; Port 2 Resistor ENable
285 P2SEL0 .equ PA_SFR + 0Bh ; Port 2 SELection 0
286 P2SEL1 .equ PA_SFR + 0Dh ; Port 2 SELection 1
287 P2SELC .equ PA_SFR + 17h ; Port 2 SELection Complement
288 P2IES .equ PA_SFR + 19h ; Port 2 Interrupt Edge Select
289 P2IE .equ PA_SFR + 1Bh ; Port 2 Interrupt Enable
290 P2IFG .equ PA_SFR + 1Dh ; Port 2 Interrupt FlaG
291 P2IV .equ PA_SFR + 1Eh ; Port 2 Interrupt Vector word
293 ; ----------------------------------------------------------------------
294 ; POWER ON RESET AND INITIALIZATION : PORT3/4
295 ; ----------------------------------------------------------------------
297 PBIN .equ PB_SFR + 00h ; Port B Input
298 PBOUT .equ PB_SFR + 02h ; Port B Output 1/0 or pullup/pulldown resistor
299 PBDIR .equ PB_SFR + 04h ; Port B Direction
300 PBREN .equ PB_SFR + 06h ; Port B Resistor Enable
301 PBSEL0 .equ PB_SFR + 0Ah ; Port B Selection 0
302 PBSEL1 .equ PB_SFR + 0Ch ; Port B Selection 1
303 PBSELC .equ PB_SFR + 16h ; Port B Complement Selection
304 PBIES .equ PB_SFR + 18h ; Port B Interrupt Edge Select
305 PBIE .equ PB_SFR + 1Ah ; Port B Interrupt Enable
306 PBIFG .equ PB_SFR + 1Ch ; Port B Interrupt Flag
308 P3IN .equ PB_SFR + 00h ; Port 3 Input */
309 P3OUT .equ PB_SFR + 02h ; Port 3 Output
310 P3DIR .equ PB_SFR + 04h ; Port 3 Direction
311 P3REN .equ PB_SFR + 06h ; Port 3 Resistor Enable
312 P3SEL0 .equ PB_SFR + 0Ah ; Port 3 Selection 0
313 P3SEL1 .equ PB_SFR + 0Ch ; Port 3 Selection 1
314 P3SELC .equ PB_SFR + 16h ; Port 3 Complement Selection
315 P3IES .equ PB_SFR + 18h ; Port 3 Interrupt Edge Select
316 P3IE .equ PB_SFR + 1Ah ; Port 3 Interrupt Enable
317 P3IFG .equ PB_SFR + 1Ch ; Port 3 Interrupt Flag
318 P3IV .equ PB_SFR + 0Eh ; Port 3 Interrupt Vector word
320 P4IN .equ PB_SFR + 01h ; Port 4 Input */
321 P4OUT .equ PB_SFR + 03h ; Port 4 Output
322 P4DIR .equ PB_SFR + 05h ; Port 4 Direction
323 P4REN .equ PB_SFR + 07h ; Port 4 Resistor Enable
324 P4SEL0 .equ PB_SFR + 0Bh ; Port 4 Selection 0
325 P4SEL1 .equ PB_SFR + 0Dh ; Port 4 Selection 1
326 P4SELC .equ PB_SFR + 17h ; Port 4 Complement Selection
327 P4IES .equ PB_SFR + 19h ; Port 4 Interrupt Edge Select
328 P4IE .equ PB_SFR + 1Bh ; Port 4 Interrupt Enable
329 P4IFG .equ PB_SFR + 1Dh ; Port 4 Interrupt Flag
330 P4IV .equ PB_SFR + 1Eh ; Port 4 Interrupt Vector word
332 ; ----------------------------------------------------------------------
333 ; POWER ON RESET AND INITIALIZATION : PORT5/6
334 ; ----------------------------------------------------------------------
336 PCIN .set PC_SFR + 00h ; Port C Input
337 PCOUT .set PC_SFR + 02h ; Port C Output 1/0 or pullup/pulldown resistor
338 PCDIR .set PC_SFR + 04h ; Port C Direction
339 PCREN .set PC_SFR + 06h ; Port C Resistor Enable
340 PCSEL0 .set PC_SFR + 0Ah ; Port C Selection 0
341 PCSEL1 .set PC_SFR + 0Ch ; Port C Selection 1
342 PCSELC .set PC_SFR + 16h ; Port C Complement Selection
344 P5IN .set PC_SFR + 00h ; Port 5 Input */
345 P5OUT .set PC_SFR + 02h ; Port 5 Output
346 P5DIR .set PC_SFR + 04h ; Port 5 Direction
347 P5REN .set PC_SFR + 06h ; Port 5 Resistor Enable
348 P5SEL0 .set PC_SFR + 0Ah ; Port 5 Selection 0
349 P5SEL1 .set PC_SFR + 0Ch ; Port 5 Selection 1
350 P5SELC .set PC_SFR + 16h ; Port 5 Complement Selection
352 P6IN .set PC_SFR + 01h ; Port 6 Input */
353 P6OUT .set PC_SFR + 03h ; Port 6 Output
354 P6DIR .set PC_SFR + 05h ; Port 6 Direction
355 P6REN .set PC_SFR + 07h ; Port 6 Resistor Enable
356 P6SEL0 .set PC_SFR + 0Bh ; Port 6 Selection 0
357 P6SEL1 .set PC_SFR + 0Dh ; Port 6 Selection 1
358 P6SELC .set PC_SFR + 17h ; Port 6 Complement Selection
360 ; ----------------------------------------------------------------------
361 ; POWER ON RESET AND INITIALIZATION : PORT7/8
362 ; ----------------------------------------------------------------------
364 PDIN .set PD_SFR + 00h ; Port D Input
365 PDOUT .set PD_SFR + 02h ; Port D Output 1/0 or pullup/pulldown resistor
366 PDDIR .set PD_SFR + 04h ; Port D Direction
367 PDREN .set PD_SFR + 06h ; Port D Resistor Enable
368 PDSEL0 .set PD_SFR + 0Ah ; Port D Selection 0
369 PDSEL1 .set PD_SFR + 0Ch ; Port D Selection 1
370 PDSELC .set PD_SFR + 16h ; Port D Complement Selection
372 P7IN .set PD_SFR + 00h ; Port 7 Input */
373 P7OUT .set PD_SFR + 02h ; Port 7 Output
374 P7DIR .set PD_SFR + 04h ; Port 7 Direction
375 P7REN .set PD_SFR + 06h ; Port 7 Resistor Enable
376 P7SEL0 .set PD_SFR + 0Ah ; Port 7 Selection 0
377 P7SEL1 .set PD_SFR + 0Ch ; Port 7 Selection 1
378 P7SELC .set PD_SFR + 16h ; Port 7 Complement Selection
380 P8IN .set PD_SFR + 01h ; Port 8 Input */
381 P8OUT .set PD_SFR + 03h ; Port 8 Output
382 P8DIR .set PD_SFR + 05h ; Port 8 Direction
383 P8REN .set PD_SFR + 07h ; Port 8 Resistor Enable
384 P8SEL0 .set PD_SFR + 0Bh ; Port 8 Selection 0
385 P8SEL1 .set PD_SFR + 0Dh ; Port 8 Selection 1
386 P8SELC .set PD_SFR + 17h ; Port 8 Complement Selection
388 ; ----------------------------------------------------------------------
389 ; POWER ON RESET AND INITIALIZATION : PORT9/10
390 ; ----------------------------------------------------------------------
392 PEIN .set PE_SFR + 00h ; Port E Input
393 PEOUT .set PE_SFR + 02h ; Port E Output 1/0 or pullup/pulldown resistor
394 PEDIR .set PE_SFR + 04h ; Port E Direction
395 PEREN .set PE_SFR + 06h ; Port E Resistor Enable
396 PESEL0 .set PE_SFR + 0Ah ; Port E Selection 0
397 PESEL1 .set PE_SFR + 0Ch ; Port E Selection 1
398 PESELC .set PE_SFR + 16h ; Port E Complement Selection
400 P9IN .set PE_SFR + 00h ; Port 9 Input */
401 P9OUT .set PE_SFR + 02h ; Port 9 Output
402 P9DIR .set PE_SFR + 04h ; Port 9 Direction
403 P9REN .set PE_SFR + 06h ; Port 9 Resistor Enable
404 P9SEL0 .set PE_SFR + 0Ah ; Port 9 Selection 0
405 P9SEL1 .set PE_SFR + 0Ch ; Port 9 Selection 1
406 P9SELC .set PE_SFR + 16h ; Port 9 Complement Selection
408 P10IN .set PE_SFR + 01h ; Port 10 Input */
409 P10OUT .set PE_SFR + 03h ; Port 10 Output
410 P10DIR .set PE_SFR + 05h ; Port 10 Direction
411 P10REN .set PE_SFR + 07h ; Port 10 Resistor Enable
412 P10SEL0 .set PE_SFR + 0Bh ; Port 10 Selection 0
413 P10SEL1 .set PE_SFR + 0Dh ; Port 10 Selection 1
414 P10SELC .set PE_SFR + 17h ; Port 10 Complement Selection
416 ; ----------------------------------------------------------------------
417 ; POWER ON RESET AND INITIALIZATION : PORTJ
418 ; ----------------------------------------------------------------------
420 PJIN .equ PJ_SFR + 00h ; Port J INput
421 PJOUT .equ PJ_SFR + 02h ; Port J OUTput
422 PJDIR .equ PJ_SFR + 04h ; Port J DIRection
423 PJREN .equ PJ_SFR + 06h ; Port J Resistor ENable
424 PJSEL0 .equ PJ_SFR + 0Ah ; Port 2 SELection 0
425 PJSEL1 .equ PJ_SFR + 0Ch ; Port 2 SELection 1
426 PJSELC .equ PJ_SFR + 16h ; Port 2 SELection Complement; PJ 5-0 usage
428 ; ----------------------------------------------------------------------
430 ; ----------------------------------------------------------------------
431 RTCCTL0_L .set RTC_C_SFR + 00h
432 RTCCTL0_H .set RTC_C_SFR + 01h
433 RTCCTL1 .set RTC_C_SFR + 02h
434 RTCCTL3 .set RTC_C_SFR + 03h
435 RTCOCAL .set RTC_C_SFR + 04h
436 RTCTCMP .set RTC_C_SFR + 06h
437 RTCPS0CTL .set RTC_C_SFR + 08h
438 RTCPS1CTL .set RTC_C_SFR + 0Ah
439 RTCPS .set RTC_C_SFR + 0Ch ; = RT1PS:RT0PS
440 RTCIV .set RTC_C_SFR + 0Eh
441 RTCSEC .set RTC_C_SFR + 10h
442 RTCCNT1 .set RTC_C_SFR + 10h
443 RTCMIN .set RTC_C_SFR + 11h
444 RTCCNT2 .set RTC_C_SFR + 11h
445 RTCHOUR .set RTC_C_SFR + 12h
446 RTCCNT3 .set RTC_C_SFR + 12h
447 RTCDOW .set RTC_C_SFR + 13h
448 RTCCNT4 .set RTC_C_SFR + 13h
449 RTCDAY .set RTC_C_SFR + 14h
450 RTCMON .set RTC_C_SFR + 15h
451 RTCYEAR .set RTC_C_SFR + 16h
456 ; ----------------------------------------------------------------------
458 ; ----------------------------------------------------------------------
460 MPY .equ MPY_SFR + 00h ; Multiply16 Unsigned/Operand 1 */
461 MPYS .equ MPY_SFR + 02h ; Multiply16 signed/Operand 1
462 MAC .equ MPY_SFR + 04h ; MultiplyAccumulate16 Unsigned/Operand 1 */
463 MACS .equ MPY_SFR + 06h ; MultiplyAccumulate16 signed/Operand 1
464 OP2 .equ MPY_SFR + 08h ; Operand2_16 */
465 RESLO .equ MPY_SFR + 0Ah ; 16x16-bit result low - least significant word */
466 RESHI .equ MPY_SFR + 0Ch ; 16x16-bit result high */
467 SUMEXT .equ MPY_SFR + 0Eh ; 16x16-bit sum extension register
468 MPY32L .equ MPY_SFR + 10h ; Multiply32 Unsigned/Operand 1
469 MPY32H .equ MPY_SFR + 12h ; Multiply32 Unsigned/Operand 1
470 MPYS32L .equ MPY_SFR + 14h ; Multiply32 signed/Operand 1
471 MPYS32H .equ MPY_SFR + 16h ; Multiply32 signed/Operand 1
472 MAC32L .equ MPY_SFR + 18h ; MultiplyAccumulate32 Unsigned/Operand 1
473 MAC32H .equ MPY_SFR + 1Ah ; MultiplyAccumulate32 Unsigned/Operand 1
474 MACS32L .equ MPY_SFR + 1Ch ; MultiplyAccumulate32 signed/Operand 1
475 MACS32H .equ MPY_SFR + 1Eh ; MultiplyAccumulate32 signed/Operand 1
476 OP2L .equ MPY_SFR + 20h ; Multiply32 Operand 2
477 OP2H .equ MPY_SFR + 22h ; Multiply32 Operand 2
478 RES0 .equ MPY_SFR + 24h ; 32x32-bit result 0 - least significant word */
479 RES1 .equ MPY_SFR + 26h ; 32x32-bit result 1 */
480 RES2 .equ MPY_SFR + 28h ; 32x32-bit result 2 */
481 RES3 .equ MPY_SFR + 2Ah ; 32x32-bit result 3 */
482 MPY32CTL0 .equ MPY_SFR + 2Ch ; MPY32 control register 0
485 MPUCTL0 .equ MPU_SFR + 00h ; MPU control 0
486 MPUCTL1 .equ MPU_SFR + 02h ; MPU control 1
487 MPUSEGB2 .equ MPU_SFR + 04h ; MPU Segmentation Border 2
488 MPUSEGB1 .equ MPU_SFR + 06h ; MPU Segmentation Border 1
489 MPUSAM .equ MPU_SFR + 08h ; MPU access management
490 MPUIPC0 .equ MPU_SFR + 0Ah ; MPU IP control 0
491 MPUIPSEGB2 .equ MPU_SFR + 0Ch ; MPU IP Encapsulation Segment Border 2
492 MPUIPSEGB1 .equ MPU_SFR + 0Eh ; MPU IP Encapsulation Segment Border 1
494 ; ----------------------------------------------------------------------
496 ; ----------------------------------------------------------------------
499 TERM_CTLW0 .equ eUSCI_A0_SFR + 00h ; eUSCI_A0 Control Word Register 0
500 TERM_BRW .equ eUSCI_A0_SFR + 06h ; eUSCI_A0 Baud Word Rate 0
501 TERM_MCTLW .equ eUSCI_A0_SFR + 08h ; eUSCI_A0 Modulation Control
502 TERM_STATW .equ eUSCI_A0_SFR + 0Ah ; eUSCI_A0 status Word Register
503 TERM_RXBUF .equ eUSCI_A0_SFR + 0Ch ; eUSCI_A0 Receive Buffer
504 TERM_TXBUF .equ eUSCI_A0_SFR + 0Eh ; eUSCI_A0 Transmit Buffer
505 TERM_IE .equ eUSCI_A0_SFR + 1Ah ; eUSCI_A0 Interrupt Enable Register
506 TERM_IFG .equ eUSCI_A0_SFR + 1Ch ; eUSCI_A0 Interrupt Flags Register
507 TERM_VEC .equ 0FFEEh ; interrupt vector for eUSCI_A0
513 SD_CTLW0 .equ eUSCI_A0_SFR + 00h ; eUSCI_A0 Control Word Register 0
514 SD_BRW .equ eUSCI_A0_SFR + 06h ; eUSCI_A0 Baud Word Rate 0
515 SD_RXBUF .equ eUSCI_A0_SFR + 0Ch ; eUSCI_A0 Receive Buffer 8
516 SD_TXBUF .equ eUSCI_A0_SFR + 0Eh ; eUSCI_A0 Transmit Buffer 8
517 SD_IFG .equ eUSCI_A0_SFR + 1Ch ; eUSCI_A0 Interrupt Flags Register
522 ; ----------------------------------------------------------------------
524 ; ----------------------------------------------------------------------
527 TERM_CTLW0 .equ eUSCI_A1_SFR + 00h ; eUSCI_A1 Control Word Register 0
528 TERM_BRW .equ eUSCI_A1_SFR + 06h ; eUSCI_A1 Baud Word Rate 0
529 TERM_MCTLW .equ eUSCI_A1_SFR + 08h ; eUSCI_A1 Modulation Control
530 TERM_STATW .equ eUSCI_A1_SFR + 0Ah ; eUSCI_A1 status Word Register
531 TERM_RXBUF .equ eUSCI_A1_SFR + 0Ch ; eUSCI_A1 Receive Buffer
532 TERM_TXBUF .equ eUSCI_A1_SFR + 0Eh ; eUSCI_A1 Transmit Buffer
533 TERM_IE .equ eUSCI_A1_SFR + 1Ah ; eUSCI_A1 Interrupt Enable Register
534 TERM_IFG .equ eUSCI_A1_SFR + 1Ch ; eUSCI_A1 Interrupt Flags Register
536 TERM_VEC .equ 0FFE4h ; interrupt vector for eUSCI_A1
537 WAKE_UP .equ 1 ; UART RX interrupt
544 SD_CTLW0 .equ eUSCI_A1_SFR + 00h ; eUSCI_A1 Control Word Register 0
545 SD_BRW .equ eUSCI_A1_SFR + 06h ; eUSCI_A1 Baud Word Rate 0
546 SD_RXBUF .equ eUSCI_A1_SFR + 0Ch ; eUSCI_A1 Receive Buffer 8
547 SD_TXBUF .equ eUSCI_A1_SFR + 0Eh ; eUSCI_A1 Transmit Buffer 8
548 SD_IFG .equ eUSCI_A1_SFR + 1Ch ; eUSCI_A1 Interrupt Flags Register
554 ; ----------------------------------------------------------------------
556 ; ----------------------------------------------------------------------
558 SD_CTLW0 .equ eUSCI_B0_SFR + 00h ; eUSCI_B0 Control Word Register 0
559 SD_BRW .equ eUSCI_B0_SFR + 06h ; eUSCI_B0 Baud Word Rate 0
560 SD_RXBUF .equ eUSCI_B0_SFR + 0Ch ; eUSCI_B0 Receive Buffer 8
561 SD_TXBUF .equ eUSCI_B0_SFR + 0Eh ; eUSCI_B0 Transmit Buffer 8
562 SD_IFG .equ eUSCI_B0_SFR + 2Ch ; eUSCI_B0 Interrupt Flags Register
568 TERM_CTLW0 .equ eUSCI_B0_SFR + 00h ; USCI_B0 Control Word Register 0
569 TERM_CTLW1 .equ eUSCI_B0_SFR + 02h ; USCI_B0 Control Word Register 1
570 TERM_BRW .equ eUSCI_B0_SFR + 06h ; USCI_B0 Baud Word Rate 0
571 TERM_STATW .equ eUSCI_B0_SFR + 08h ; USCI_B0 Status Word
572 TERM_RXBUF .equ eUSCI_B0_SFR + 0Ch ; USCI_B0 Receive Buffer 8
573 TERM_TXBUF .equ eUSCI_B0_SFR + 0Eh ; USCI_B0 Transmit Buffer 8
574 TERM_I2COA0 .equ eUSCI_B0_SFR + 14h ; USCI_B0 I2C Own Address 0
575 TERM_ADDRX .equ eUSCI_B0_SFR + 1Ch ; USCI_B0 Received Address Register
576 TERM_I2CSA .equ eUSCI_B0_SFR + 20h ; USCI_B0 I2C Slave Address
577 TERM_IE .equ eUSCI_B0_SFR + 2Ah ; USCI_B0 Interrupt Enable
578 TERM_IFG .equ eUSCI_B0_SFR + 2Ch ; USCI_B0 Interrupt Flags Register
580 TERM_VEC .equ 0FFECh ; interrupt vector for eUSCI_B0
581 WAKE_UP .equ 4 ; START interrupt