OSDN Git Service

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