OSDN Git Service

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