OSDN Git Service

V3.5 ABORT messages display I2C address
[fast-forth/master.git] / inc / MSP430FR5948.inc
1 ; MSP430FR5948.inc
2 ; MSP430FR569  minimal declarations for FastForth usage
3 DEVICE = "MSP430FR5948"
4
5 ; ----------------------------------------------
6 ; MSP430FR5948 MEMORY MAP
7 ; ----------------------------------------------
8 ; 0000-0FFF = peripherals (4 KB)
9 ; 1000-17FF = ROM bootstrap loader BSL0..3 (4x512 B)
10 ; 1800-187F = FRAM info D (128 B)
11 ; 1880-18FF = FRAM info C (128 B)
12 ; 1900-197F = FRAM info B (128 B)
13 ; 1980-19FF = FRAM info A (128 B)
14 ; 1A00-1AFF = FRAM TLV device descriptor info (256 B)
15 ; 1B00-1BFF = unused (256 B)
16 ; 1C00-23FF = RAM (2KB)
17 ; 23FF-43FF = unused (8kB)
18 ; 4400-FF7F = FRAM code memory (FRAM) (MSP430FR59x8/9)
19 ; 8000-FF7F = FRAM code memory (FRAM) (MSP430FR59x7/8/9)
20 ; FF80-FFFF = FRAM interrupt vectors and signatures (FRAM)
21 ; 10000-13FFF = FRAM (MSP430FR59x9)
22
23 ; ----------------------------------------------
24 PAGESIZE        .equ 512         ; MPU unit
25 ; ----------------------------------------------
26 ; BSL                         
27 ; ----------------------------------------------
28 BSL             .equ 1000h
29 ; ----------------------------------------------
30 ; FRAM                          ; INFO B, A, TLV
31 ; ----------------------------------------------
32 INFO_ORG        .equ 01800h
33 INFO_LEN        .equ 00200h
34 INFOD_ORG       .equ 01800h
35 INFOD_LEN       .equ 00080h
36 INFOC_ORG       .equ 01880h
37 INFOC_LEN       .equ 00080h
38 INFOB_ORG       .equ 01900h
39 INFOB_LEN       .equ 00080h
40 INFOA_ORG       .equ 01980h
41 INFOA_LEN       .equ 00080h
42 TLV_ORG         .equ 01A00h      ; Device Descriptor Info (Tag-Lenght-Value)
43 TLV_LEN         .equ 00100h      ;
44 ; ----------------------------------------------
45 ; RAM
46 ; ----------------------------------------------
47 RAM_ORG         .equ 01C00h
48 RAM_LEN         .equ 00800h
49 ; ----------------------------------------------
50 ; FRAM
51 ; ----------------------------------------------
52 MAIN_ORG        .equ 04400h      ; Code space start
53 SIGNATURES      .equ 0FF80h      ; JTAG/BSL signatures
54 JTAG_SIG1       .equ 0FF80h      ; if 0, enable JTAG/SBW
55 JTAG_SIG2       .equ 0FF82h      ; if JTAG_SIG1=0xAAAA, length of password string @ JTAG_PASSWORD
56 BSL_SIG1        .equ 0FF84h      ;
57 BSL_SIG2        .equ 0FF86h      ;
58 JTAG_PASSWORD   .equ 0FF88h      ; 256 bits max
59 IPE_SIG_VALID   .equ 0FF88h      ; one word
60 IPE_STR_PTR_SRC .equ 0FF8Ah      ; one word
61 VECT_ORG        .equ 0FFCCh      ; FFCC-FFFF
62 VECT_LEN        .equ 34h
63 BSL_PASSWORD    .equ 0FFE0h      ; 256 bits
64 ; ----------------------------------------------
65
66 ;    .org    SIGNATURES
67 ;;Start of JTAG and BSL signatures
68 ;        .word   0FFFFh      ; JTAG signature 1
69 ;        .word   0FFFFh      ; JTAG signature 2
70 ;        .word   0FFFFh      ; BSL signature 1, 5555h to disable BSL
71 ;        .word   0FFFFh      ; BSL signature 2
72 ;
73 ;    .org JTAG_PASSWORD     ;Start of JTAG PASSWORD
74 ;
75 ;    .org    INTVECT         ; FFCC-FFFF 25 vectors + reset
76 ;         .word  reset       ; 0FFCCh  -  AES
77 ;         .word  reset       ; 0FFCEh  -  RTC_B
78 ;         .word  reset       ; 0FFD0h  -  I/O Port 4
79 ;         .word  reset       ; 0FFD2h  -  I/O Port 3
80 ;         .word  reset       ; 0FFD4h  -  TB2_1
81 ;         .word  reset       ; 0FFD6h  -  TB2_0
82 ;         .word  reset       ; 0FFD8h  -  I/O Port P2
83 ;         .word  reset       ; 0FFDAh  -  TB1_1
84 ;         .word  reset       ; 0FFDCh  -  TB1_0
85 ;         .word  reset       ; 0FFDEh  -  I/O Port P1
86 ;
87 ;
88 ;;    .org BSL_PASSWORD      ;Start of BSL PASSWORD
89 ;         .word  reset       ; 0FFE0h  -  TA1_1
90 ;         .word  reset       ; 0FFE2h  -  TA1_0
91 ;         .word  reset       ; 0FFE4h  -  DMA
92 ;         .word  reset       ; 0FFE6h  -  eUSCI_A1
93 ;         .word  reset       ; 0FFE8h  -  TA0_1
94 ;         .word  reset       ; 0FFEAh  -  TA0_0
95 ;         .word  reset       ; 0FFECh  -  ADC12_B
96 ;         .word  reset       ; 0FFEEh  -  eUSCI_B0
97 ;         .word  reset       ; 0FFF0h  -  eUSCI_A0
98 ;         .word  reset       ; 0FFF2h  -  Watchdog
99 ;         .word  reset       ; 0FFF4h  -  TB0_1
100 ;         .word  reset       ; 0FFF6h  -  TB0_0
101 ;         .word  reset       ; 0FFF8h  -  COMP_D
102 ;         .word  reset       ; 0FFFAh  -  userNMI
103 ;         .word  reset       ; 0FFFCh  -  sysNMI
104 ;         .word  reset       ; 0FFFEh  -  reset
105
106
107
108
109 ; ----------------------------------------------------------------------
110 ; MSP430FR5948 Peripheral File Map
111 ; ----------------------------------------------------------------------
112 SFR_SFR         .set 0100h           ; Special function
113 PMM_SFR         .set 0120h           ; PMM
114 FRAM_SFR        .set 0140h           ; FRAM control
115 CRC16_SFR       .set 0150h
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           ; REF
120 PA_SFR          .set 0200h           ; PORT1/2
121 PB_SFR          .set 0220h           ; PORT3/4
122 PJ_SFR          .set 0320h           ; PORTJ
123 TA0_SFR         .set 0340h
124 TA1_SFR         .set 0380h
125 TB0_SFR         .set 03C0h
126 TA2_SFR         .set 0400h
127 CTIO0_SFR       .set 0430h           ; Capacitive Touch IO
128 TA3_SFR         .set 0440h
129 CTIO1_SFR       .set 0470h           ; Capacitive Touch IO
130 RTC_B_SFR       .set 04A0h
131 MPY_SFR         .set 04C0h
132 DMA_CTRL_SFR    .set 0500h
133 DMA_CHN0_SFR    .set 0510h
134 DMA_CHN1_SFR    .set 0520h
135 DMA_CHN2_SFR    .set 0530h
136 MPU_SFR         .set 05A0h           ; memory protect unit
137 eUSCI_A0_SFR    .set 05C0h           ; eUSCI_A0
138 eUSCI_A1_SFR    .set 05E0h           ; eUSCI_A1
139 eUSCI_B0_SFR    .set 0640h           ; eUSCI_B0
140 ADC12_B_SFR     .set 0800h
141 COMP_E_SFR      .set 08C0h
142 AES_SFR         .set 09C0h
143
144
145
146 SFRRPCR     .set SFR_SFR + 4
147
148 ; ----------------------------------------------------------------------
149 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
150 ; ----------------------------------------------------------------------
151 SFRIE1      .equ SFR_SFR
152 SFRIFG1     .equ SFR_SFR + 2
153 SFRRPCR     .set SFR_SFR + 4
154
155 PMMCTL0     .set PMM_SFR
156 PMMSWBOR    .set 4
157
158 PM5CTL0     .set PMM_SFR + 10h    ; Power mode 5 control register 0
159 LOCKLPM5    .set 1
160
161 ; ----------------------------------------------------------------------
162 ; FRAM config
163 ; ----------------------------------------------------------------------
164 FRCTL0          .set FRAM_SFR + 00h   ; FRAM Controller Control 0
165 FRCTL0_H        .set FRAM_SFR + 01h   ; FRAM Controller Control 0 high byte
166
167 ; ----------------------------------------------------------------------
168 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
169 ; ----------------------------------------------------------------------
170
171 WDTCTL      .equ WDT_A_SFR + 00h    ; Watchdog Timer Control */
172
173 ; WDTCTL Control Bits
174 WDTPW       .equ 5A00h
175 WDTHOLD     .equ 0080h  ; WDT - Timer hold
176 WDTCNTCL    .equ 0008h  ; WDT timer counter clear
177
178 ; ----------------------------------------------------------------------
179 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
180 ; ----------------------------------------------------------------------
181
182 CSCTL0          .equ CS_SFR + 00h       ; CS Control Register 0
183 CSCTL0_H        .equ CS_SFR + 01h       ; CS Control Register 0 high byte
184 CSCTL1          .equ CS_SFR + 02h       ; CS Control Register 1
185 CSCTL2          .equ CS_SFR + 04h       ; CS Control Register 2
186 CSCTL3          .equ CS_SFR + 06h       ; CS Control Register 3
187
188 ; CSCTL0 Control Bits
189 CSKEY           .equ 0A5h           ; CS Password
190 ; CSCTL1 Control Bits
191 DCORSEL         .equ 0040h
192 DCOFSEL0        .equ 0002h           ; DCO frequency select Bit: 0
193 DCOFSEL1        .equ 0004h           ; DCO frequency select Bit: 1
194 DCOFSEL2        .equ 0008h           ; DCO frequency select Bit: 2
195 DCOFSEL3        .equ 000Ch           ; DCO frequency select Bit: 21
196 ; CSCTL2 Control Bits
197 SELA_LFXCLK     .equ 0000h           ; 0 : ACLK Source Select LFXCLK
198 SELA_VLOCLK     .equ 0100h           ; 1 ACLK Source Select VLOCLK 10kHz
199 SELS_DCOCLK     .equ 0030h           ; 3 : SMCLK Source Select DCOCLK
200 SELM_DCOCLK     .equ 0003h           ; 3 : MCLK Source Select DCOCLK
201 ; CSCTL3 Control Bits
202 DIVA_0          .equ 0000h           ; ACLK Source Divider 0
203 DIVS_0          .equ 0000h           ; SMCLK Source Divider 0
204 DIVM_0          .equ 0000h           ; MCLK Source Divider 0
205 DIVA_2          .equ 0100h           ; ACLK Source Divider 0
206 DIVS_2          .equ 0010h           ; SMCLK Source Divider 0
207 DIVM_2          .equ 0001h           ; MCLK Source Divider 0
208 DIVA_4          .equ 0200h           ; ACLK Source Divider 0
209 DIVS_4          .equ 0020h           ; SMCLK Source Divider 0
210 DIVM_4          .equ 0002h           ; MCLK Source Divider 0
211 DIVA_8          .equ 0300h           ; ACLK Source Divider 0
212 DIVS_8          .equ 0030h           ; SMCLK Source Divider 0
213 DIVM_8          .equ 0003h           ; MCLK Source Divider 0
214 DIVA_16         .equ 0400h           ; ACLK Source Divider 0
215 DIVS_16         .equ 0040h           ; SMCLK Source Divider 0
216 DIVM_16         .equ 0004h           ; MCLK Source Divider 0
217 DIVA_32         .equ 0500h           ; ACLK Source Divider 0
218 DIVS_32         .equ 0050h           ; SMCLK Source Divider 0
219 DIVM_32         .equ 0005h           ; MCLK Source Divider 0
220
221 ; ----------------------------------------------------------------------
222 ; POWER ON RESET AND INITIALIZATION : SYS REGISTERS
223 ; ----------------------------------------------------------------------
224 SYSUNIV     .equ SYS_SFR + 001Ah
225 SYSSNIV     .equ SYS_SFR + 001Ch
226 SYSRSTIV    .equ SYS_SFR + 001Eh
227
228 ; ----------------------------------------------------------------------
229 ; POWER ON RESET AND INITIALIZATION : REF
230 ; ----------------------------------------------------------------------
231
232 REFCTL      equ REF_SFR + 00h       ; REF Shared Reference control register 0
233
234 ; REFCTL0 Control Bits
235 REFON       equ 0001h               ; REF Reference On
236 REFTCOFF    equ 0008h               ; REF Temp.Sensor off
237
238 ; ----------------------------------------------------------------------
239 ; POWER ON RESET AND INITIALIZATION : PORT1/2
240 ; ----------------------------------------------------------------------
241
242 PAIN        .equ PA_SFR + 00h    ; Port A INput
243 PAOUT       .equ PA_SFR + 02h    ; Port A OUTput
244 PADIR       .equ PA_SFR + 04h    ; Port A DIRection
245 PAREN       .equ PA_SFR + 06h    ; Port A Resistor ENable
246 PASEL0      .equ PA_SFR + 0Ah    ; Port A SELection 0
247 PASEL1      .equ PA_SFR + 0Ch    ; Port A SELection 1
248 PASELC      .equ PA_SFR + 16h    ; Port A SELection Complement
249 PAIES       .equ PA_SFR + 18h    ; Port A Interrupt Edge Select
250 PAIE        .equ PA_SFR + 1Ah    ; Port A Interrupt Enable
251 PAIFG       .equ PA_SFR + 1Ch    ; Port A Interrupt FlaG
252
253 P1IN        .equ PA_SFR + 00h    ; Port 1 INput
254 P1OUT       .equ PA_SFR + 02h    ; Port 1 OUTput
255 P1DIR       .equ PA_SFR + 04h    ; Port 1 DIRection
256 P1REN       .equ PA_SFR + 06h    ; Port 1 Resistor ENable
257 P1SEL0      .equ PA_SFR + 0Ah    ; Port 1 SELection 0
258 P1SEL1      .equ PA_SFR + 0Ch    ; Port 1 SELection 1
259 P1SELC      .equ PA_SFR + 16h    ; Port 1 SELection Complement
260 P1IES       .equ PA_SFR + 18h    ; Port 1 Interrupt Edge Select
261 P1IE        .equ PA_SFR + 1Ah    ; Port 1 Interrupt Enable
262 P1IFG       .equ PA_SFR + 1Ch    ; Port 1 Interrupt FlaG
263 P1IV        .equ PA_SFR + 0Eh    ; Port 1 Interrupt Vector word 
264
265 P2IN        .equ PA_SFR + 01h    ; Port 2 INput
266 P2OUT       .equ PA_SFR + 03h    ; Port 2 OUTput
267 P2DIR       .equ PA_SFR + 05h    ; Port 2 DIRection
268 P2REN       .equ PA_SFR + 07h    ; Port 2 Resistor ENable
269 P2SEL0      .equ PA_SFR + 0Bh    ; Port 2 SELection 0
270 P2SEL1      .equ PA_SFR + 0Dh    ; Port 2 SELection 1
271 P2SELC      .equ PA_SFR + 17h    ; Port 2 SELection Complement
272 P2IES       .equ PA_SFR + 19h    ; Port 2 Interrupt Edge Select
273 P2IE        .equ PA_SFR + 1Bh    ; Port 2 Interrupt Enable
274 P2IFG       .equ PA_SFR + 1Dh    ; Port 2 Interrupt FlaG
275 P2IV        .equ PA_SFR + 1Eh    ; Port 2 Interrupt Vector word 
276
277
278 WIPE_IN     .equ P2IN
279 IO_WIPE     .equ 1      ; P2.0 = FORTH Deep_RST pin
280
281     .IFDEF UCA0_TERM
282 ; P2.0  UCA0-TXD    --> USB2UART RXD    
283 ; P2.1  UCA0-RXD    <-- USB2UART TXD 
284 TXD         .equ 1      ; P2.0 = TX + FORTH Deep_RST pin
285 RXD         .equ 2      ; P2.1 = RX
286 BUS_TERM    .equ 3
287 TERM_IN     .equ P2IN
288 TERM_SEL    .equ P2SEL1
289 TERM_REN    .equ P2REN
290     .ENDIF
291
292     .IFDEF UCB0_SD
293 SD_SEL      .equ PASEL1 ; to configure UCB0
294 SD_REN      .equ PAREN  ; to configure pullup resistors
295 BUS_SD      .equ 04C0h  ; pins P2.2 as UCB0CLK, P1.6 as UCB0SIMO & P1.7 as UCB0SOMI
296     .ENDIF
297
298
299     .IFDEF TERMINAL4WIRES
300 ; RTS output is wired to the CTS input of UART2USB bridge 
301 ; configure RTS as output high to disable RX TERM during start FORTH
302 HANDSHAKOUT .equ    P2OUT
303 HANDSHAKIN  .equ    P2IN
304 RTS         .equ    4           ; P2.2
305         .IFDEF TERMINAL5WIRES
306 ; CTS input must be wired to the RTS output of UART2USB bridge 
307 ; configure CTS as input low (true) to avoid lock when CTS is not wired
308 CTS         .equ  8             ; P2.3
309         .ENDIF  ; TERMINAL5WIRES
310     .ENDIF  ; TERMINAL4WIRES
311
312
313
314 ; ----------------------------------------------------------------------
315 ; POWER ON RESET AND INITIALIZATION : PORT3/4
316 ; ----------------------------------------------------------------------
317
318 PBIN        .equ PB_SFR + 00h    ; Port B Input
319 PBOUT       .equ PB_SFR + 02h    ; Port B Output 1/0 or pullup/pulldown resistor
320 PBDIR       .equ PB_SFR + 04h    ; Port B Direction
321 PBREN       .equ PB_SFR + 06h    ; Port B Resistor Enable
322 PBSEL0      .equ PB_SFR + 0Ah    ; Port B Selection 0
323 PBSEL1      .equ PB_SFR + 0Ch    ; Port B Selection 1
324 PBSELC      .equ PB_SFR + 16h    ; Port B Complement Selection
325 PBIES       .equ PB_SFR + 18h    ; Port B Interrupt Edge Select
326 PBIE        .equ PB_SFR + 1Ah    ; Port B Interrupt Enable
327 PBIFG       .equ PB_SFR + 1Ch    ; Port B Interrupt Flag
328
329 P3IN        .equ PB_SFR + 00h    ; Port 3 Input */
330 P3OUT       .equ PB_SFR + 02h    ; Port 3 Output
331 P3DIR       .equ PB_SFR + 04h    ; Port 3 Direction
332 P3REN       .equ PB_SFR + 06h    ; Port 3 Resistor Enable
333 P3SEL0      .equ PB_SFR + 0Ah    ; Port 3 Selection 0
334 P3SEL1      .equ PB_SFR + 0Ch    ; Port 3 Selection 1
335 P3SELC      .equ PB_SFR + 16h    ; Port 3 Complement Selection
336 P3IES       .equ PB_SFR + 18h    ; Port 3 Interrupt Edge Select
337 P3IE        .equ PB_SFR + 1Ah    ; Port 3 Interrupt Enable
338 P3IFG       .equ PB_SFR + 1Ch    ; Port 3 Interrupt Flag
339 P3IV        .equ PB_SFR + 0Eh    ; Port 3 Interrupt Vector word 
340
341 P4IN        .equ PB_SFR + 01h    ; Port 4 Input */
342 P4OUT       .equ PB_SFR + 03h    ; Port 4 Output
343 P4DIR       .equ PB_SFR + 05h    ; Port 4 Direction
344 P4REN       .equ PB_SFR + 07h    ; Port 4 Resistor Enable
345 P4SEL0      .equ PB_SFR + 0Bh    ; Port 4 Selection 0
346 P4SEL1      .equ PB_SFR + 0Dh    ; Port 4 Selection 1
347 P4SELC      .equ PB_SFR + 17h    ; Port 4 Complement Selection
348 P4IES       .equ PB_SFR + 19h    ; Port 4 Interrupt Edge Select
349 P4IE        .equ PB_SFR + 1Bh    ; Port 4 Interrupt Enable
350 P4IFG       .equ PB_SFR + 1Dh    ; Port 4 Interrupt Flag
351 P4IV        .equ PB_SFR + 1Eh    ; Port 4 Interrupt Vector word 
352
353 ; ----------------------------------------------------------------------
354 ; POWER ON RESET AND INITIALIZATION : PORTJ
355 ; ----------------------------------------------------------------------
356
357 PJIN        .equ PJ_SFR + 00h   ; Port J INput
358 PJOUT       .equ PJ_SFR + 02h   ; Port J OUTput
359 PJDIR       .equ PJ_SFR + 04h   ; Port J DIRection
360 PJREN       .equ PJ_SFR + 06h   ; Port J Resistor ENable
361 PJSEL0      .equ PJ_SFR + 0Ah   ; Port 2 SELection 0
362 PJSEL1      .equ PJ_SFR + 0Ch   ; Port 2 SELection 1
363 PJSELC      .equ PJ_SFR + 16h   ; Port 2 SELection Complement; PJ 5-0 usage
364
365 ; ----------------------------------------------------------------------
366 RTC_B
367 ; ----------------------------------------------------------------------
368 RTCCTL01      .equ RTC_B_SFR + 00h
369 RTCCTL0       .equ RTC_B_SFR + 00h
370 RTCCTL1       .equ RTC_B_SFR + 01h
371 RTCCTL23      .equ RTC_B_SFR + 02h
372 RTCPS0CTL     .equ RTC_B_SFR + 08h
373 RTCPS1CTL     .equ RTC_B_SFR + 0Ah
374 RTCPS         .equ RTC_B_SFR + 0Ch
375 RTCIV         .equ RTC_B_SFR + 0Eh
376 RTCSEC        .equ RTC_B_SFR + 10h
377 RTCMIN        .equ RTC_B_SFR + 11h
378 RTCHOUR       .equ RTC_B_SFR + 12h
379 RTCDOW        .equ RTC_B_SFR + 13h
380 RTCDAY        .equ RTC_B_SFR + 14h
381 RTCMON        .equ RTC_B_SFR + 15h
382 RTCYEAR       .equ RTC_B_SFR + 16h
383
384 RTCHOLD       .equ 40h
385 RTCRDY        .equ 10h
386
387 ; ----------------------------------------------------------------------
388 MPY_32
389 ; ----------------------------------------------------------------------
390
391 MPY       .equ MPY_SFR + 00h    ; Multiply16 Unsigned/Operand 1 */
392 MPYS      .equ MPY_SFR + 02h    ; Multiply16 signed/Operand 1
393 MAC       .equ MPY_SFR + 04h    ; MultiplyAccumulate16 Unsigned/Operand 1 */
394 MACS      .equ MPY_SFR + 06h    ; MultiplyAccumulate16 signed/Operand 1
395 OP2       .equ MPY_SFR + 08h    ; Operand2_16 */
396 RESLO     .equ MPY_SFR + 0Ah    ; 16x16-bit result low - least significant word */
397 RESHI     .equ MPY_SFR + 0Ch    ; 16x16-bit result high */
398 SUMEXT    .equ MPY_SFR + 0Eh    ; 16x16-bit sum extension register
399 MPY32L    .equ MPY_SFR + 10h    ; Multiply32 Unsigned/Operand 1
400 MPY32H    .equ MPY_SFR + 12h    ; Multiply32 Unsigned/Operand 1
401 MPYS32L   .equ MPY_SFR + 14h    ; Multiply32 signed/Operand 1
402 MPYS32H   .equ MPY_SFR + 16h    ; Multiply32 signed/Operand 1
403 MAC32L    .equ MPY_SFR + 18h    ; MultiplyAccumulate32 Unsigned/Operand 1
404 MAC32H    .equ MPY_SFR + 1Ah    ; MultiplyAccumulate32 Unsigned/Operand 1
405 MACS32L   .equ MPY_SFR + 1Ch    ; MultiplyAccumulate32 signed/Operand 1
406 MACS32H   .equ MPY_SFR + 1Eh    ; MultiplyAccumulate32 signed/Operand 1
407 OP2L      .equ MPY_SFR + 20h    ; Multiply32 Operand 2
408 OP2H      .equ MPY_SFR + 22h    ; Multiply32 Operand 2
409 RES0      .equ MPY_SFR + 24h    ; 32x32-bit result 0 - least significant word */
410 RES1      .equ MPY_SFR + 26h    ; 32x32-bit result 1 */
411 RES2      .equ MPY_SFR + 28h    ; 32x32-bit result 2 */
412 RES3      .equ MPY_SFR + 2Ah    ; 32x32-bit result 3 */
413 MPY32CTL0 .equ MPY_SFR + 2Ch    ; MPY32 control register 0
414
415
416     .IFDEF UCA0_TERM
417 ; ----------------------------------------------------------------------
418 ; eUSCI_A0
419 ; ----------------------------------------------------------------------
420 TERM_CTLW0      .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
421 TERM_BRW        .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
422 TERM_MCTLW      .equ eUSCI_A0_SFR + 08h    ; eUSCI_A0 Modulation Control
423 TERM_STATW      .equ eUSCI_A0_SFR + 0Ah    ; eUSCI_A0 status Word Register
424 TERM_RXBUF      .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer
425 TERM_TXBUF      .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer
426 TERM_IE         .equ eUSCI_A0_SFR + 1Ah    ; eUSCI_A0 Interrupt Enable Register
427 TERM_IFG        .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
428
429 TERM_VEC        .equ 0FFF0h ; interrupt vector for  eUSCI_A0
430 WAKE_UP         .equ 1      ; UART RX interrupt
431
432 RX_TERM         .equ 1
433 TX_TERM         .equ 2
434     .ENDIF ;UCA0_TERM
435
436     .IFDEF UCA1_SD
437 ; ----------------------------------------------------------------------
438 ; eUSCI_A1
439 ; ----------------------------------------------------------------------
440 SD_CTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
441 SD_BRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
442 SD_RXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer 8
443 SD_TXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer 8
444 SD_IFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
445 RX_SD           .equ 1
446 TX_SD           .equ 2
447     .ENDIF ;UCA1_SD
448
449     .IFDEF UCB0_TERM
450 ; ----------------------------------------------------------------------
451 ; eUSCI_B0 as TERMINAL I2C input
452 ; ----------------------------------------------------------------------
453 TERM_CTLW0      .equ eUSCI_B0_SFR + 00h     ; USCI_B0 Control Word Register 0
454 TERM_CTLW1      .equ eUSCI_B0_SFR + 02h     ; USCI_B0 Control Word Register 1
455 TERM_BRW        .equ eUSCI_B0_SFR + 06h     ; USCI_B0 Baud Word Rate 0
456 TERM_STATW      .equ eUSCI_B0_SFR + 08h     ; USCI_B0 Status Word
457 TERM_RXBUF      .equ eUSCI_B0_SFR + 0Ch     ; USCI_B0 Receive Buffer 8
458 TERM_TXBUF      .equ eUSCI_B0_SFR + 0Eh     ; USCI_B0 Transmit Buffer 8
459 TERM_I2COA0     .equ eUSCI_B0_SFR + 14h     ; USCI_B0 I2C Own Address 0
460 TERM_ADDRX      .equ eUSCI_B0_SFR + 1Ch     ; USCI_B0  Received Address Register 
461 TERM_I2CSA      .equ eUSCI_B0_SFR + 20h     ; USCI_B0 I2C Slave Address
462 TERM_IE         .equ eUSCI_B0_SFR + 2Ah     ; USCI_B0 Interrupt Enable
463 TERM_IFG        .equ eUSCI_B0_SFR + 2Ch     ; USCI_B0 Interrupt Flags Register
464
465 TERM_VEC        .equ 0FFEEh ; interrupt vector for eUSCI_B0
466 WAKE_UP         .equ 4      ; START interrupt
467
468 RX_TERM         .equ 1
469 TX_TERM         .equ 2
470     .ENDIF ;UCB0_TERM
471