OSDN Git Service

modified >NUMBER without Hardware MPY
[fast-forth/master.git] / MSP430FR2355.inc
1 ; MSP430fr2355.inc
2 ; MSP430FR2355 minimal declarations for FastForth usage
3 DEVICE = "MSP430FR2355"
4
5 ; ----------------------------------------------
6 ; MSP430FR2355 MEMORY MAP
7 ; ----------------------------------------------
8 ; 0000-0005 = reserved
9 ; 0006-001F = tiny RAM
10 ; 0020-0FFF = peripherals (4 KB)
11 ; 1000-17FF = ROM bootstrap loader BSL1 (2k)
12 ; 1800-19FF = information memory (FRAM 512 B)
13 ; 1A00-1A31 = TLV device descriptor info (FRAM 128 B)
14 ; 1A80-1FFF = unused
15 ; 2000-2FFF = RAM (4 KB)
16 ; 2800-7FFF = unused
17 ; 8000-FF7F = code memory (FRAM 15232 B)
18 ; FF80-FFFF = interrupt vectors (FRAM 128 B)
19 ; FFC00-FFFFF = BSL2 (2k)
20 ; ----------------------------------------------
21 ; MSP430FR2355 DEVICE ID
22 ; ----------------------------------------------
23 ; 1A04 = 0C, 1A05 = 83
24 ; ----------------------------------------------
25 PAGESIZE        .equ 512         ; MPU unit
26 ; ----------------------------------------------
27 ; BSL                           
28 ; ----------------------------------------------
29 BSL1            .equ 01000h 
30 BSL2            .equ 0FFC00h
31 ; ----------------------------------------------
32 ; FRAM                          ; INFO B, TLV
33 ; ----------------------------------------------
34 TINYRAM_ORG     .equ 6
35 TINYRAM_LEN     .equ 1Ah
36 INFO_ORG        .equ 01800h
37 INFO_LEN        .equ 00200h
38 TLV_ORG         .equ 01A00h      ; Device Descriptor Info (Tag-Lenght-Value)
39 TLV_LEN         .equ 00032h      ;
40 ; ----------------------------------------------
41 ; RAM
42 ; ----------------------------------------------
43 RAM_ORG         .equ 02000h
44 RAM_LEN         .equ 01000h
45 ; ----------------------------------------------
46 ; FRAM
47 ; ----------------------------------------------
48 MAIN_ORG        .equ 08000h      ; Code space start
49 ; ----------------------------------------------
50 ; Interrupt Vectors and signatures - MSP430FR2355
51 ; ----------------------------------------------
52 SIGNATURES      .equ 0FF80h      ; JTAG/BSL signatures
53 JTAG_SIG1       .equ 0FF80h      ; if 0 (electronic fuse=0) enable JTAG/SBW ; reset by wipe and by S1+<reset>
54 JTAG_SIG2       .equ 0FF82h      ; if JTAG_SIG <> |0xFFFFFFFF, 0x00000000|, SBW and JTAG are locked
55 BSL_SIG1        .equ 0FF84h      ;
56 BSL_SIG2        .equ 0FF86h      ;
57 BSL_CONF_SIG    .equ 0FF88h      ;
58 BSL_CONF        .equ 0FF8Ah      ;
59 BSL_I2C_ADRE    .equ 0FF8Ch      ;
60 JTAG_PASSWORD   .equ 0FF88h      ; 256 bits
61 BSL_PASSWORD    .equ 0FFE0h      ; 256 bits
62 VECT_ORG        .equ 0FFCEh      ; FFCE-FFFF :  24 vectors + reset
63 VECT_LEN        .equ 32h
64 ; ----------------------------------------------
65
66 ;   .org    INTVECT             ; FFCE-FFFF 24 vectors + reset
67 ;
68 ;           .word  reset        ; FFCEh - P4       
69 ;           .word  reset        ; FFD0h - P3
70 ;           .word  reset        ; FFD2h - P2       
71 ;           .word  reset        ; FFD4h - P1
72 ;           .word  reset        ; FFD6h - SAC1-SAC3    
73 ;           .word  reset        ; FFD8h - SAC0-SAC2     
74 ;           .word  reset        ; FFDAh - eCOMPx    
75 ;           .word  reset        ; FFDCh - ADC10    
76 ;           .word  reset        ; FFDEh - eUSCI_B1 
77 ;           .word  reset        ; FFE0h - eUSCI_B0 
78 ;           .word  reset        ; FFE2h - eUSCI_A1 
79 ;           .word  reset        ; FFE4h - eUSCI_A0 
80 ;           .word  reset        ; FFE6h - WDT      
81 ;           .word  reset        ; FFE8h - RTC      
82 ;           .word  reset        ; FFEAh - TB3_x    
83 ;           .word  reset        ; FFECh - TB3_0    
84 ;           .word  reset        ; FFEEh - TB2_x    
85 ;           .word  reset        ; FFF0h - TB2_0    
86 ;           .word  reset        ; FFF2h - TB1_x    
87 ;           .word  reset        ; FFF4h - TB1_0    
88 ;           .word  reset        ; FFF6h - TB0_x    
89 ;           .word  reset        ; FFF8h - TB0_0    
90 ;           .word  reset        ; FFFAh - UserNMI  
91 ;           .word  reset        ; FFFCh - SysNMI   
92 ;           .word  reset        ; FFFEh - Reset    
93
94 ; ----------------------------------------------------------------------
95 ; MSP430FR2355 Peripheral File Map
96 ; ----------------------------------------------------------------------
97 SFR_SFR         .equ 0100h           ; Special function
98 PMM_SFR         .equ 0120h           ; PMM
99 SYS_SFR         .equ 0140h           ; SYS
100 CS_SFR          .equ 0180h           ; Clock System
101 FRAM_SFR        .equ 01A0h           ; FRAM control
102 CRC16_SFR       .equ 01C0h
103 WDT_A_SFR       .equ 01CCh           ; Watchdog
104 PA_SFR          .equ 0200h           ; PORT1/2
105 PB_SFR          .equ 0220h           ; PORT3/4
106 PC_SFR          .equ 0240h           ; PORT5/6
107 RTC_SFR         .equ 0300h
108 TB0_SFR         .equ 0380h
109 TB1_SFR         .equ 03C0h
110 TB2_SFR         .equ 0400h
111 TB3_SFR         .equ 0440h
112 MPY_SFR         .equ 04C0h
113 eUSCI_A0_SFR    .equ 0500h           ; eUSCI_A0
114 eUSCI_B0_SFR    .equ 0540h           ; eUSCI_B0
115 eUSCI_A1_SFR    .equ 0580h           ; eUSCI_A1
116 eUSCI_B1_SFR    .equ 05C0h           ; eUSCI_B1
117 BACK_MEM_SFR    .equ 0660h
118 ICC_SFR         .equ 06C0h
119 ADC10_B_SFR     .equ 0700h
120 eCOMP0_SFR      .equ 08E0h
121 eCOMP1_SFR      .equ 0900h
122 SAC0_SFR        .equ 0C80h
123 SAC1_SFR        .equ 0C90h
124 SAC2_SFR        .equ 0CA0h
125 SAC3_SFR        .equ 0CB0h
126
127 ; ----------------------------------------------------------------------
128 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
129 ; ----------------------------------------------------------------------
130 PMMCTL0     .equ PMM_SFR
131 PMMSWBOR    .equ 4
132
133 PM5CTL0     .equ PMM_SFR + 10h    ; Power mode 5 control register 0
134 LOCKLPM5    .equ 1               ; bit position
135
136 ; ----------------------------------------------------------------------
137 ; POWER ON RESET SYS config
138 ; ----------------------------------------------------------------------
139 SYSCTL      .equ SYS_SFR + 00h  ;   System control                      
140 SYSBSLC     .equ SYS_SFR + 02h  ;   Bootstrap loader configuration area 
141 SYSJMBC     .equ SYS_SFR + 06h  ;   JTAG mailbox control                
142 SYSJMBI0    .equ SYS_SFR + 08h  ;   JTAG mailbox input 0                
143 SYSJMBI1    .equ SYS_SFR + 0Ah  ;   JTAG mailbox input 1                
144 SYSJMBO0    .equ SYS_SFR + 0Ch  ;   JTAG mailbox output 0               
145 SYSJMBO1    .equ SYS_SFR + 0Eh  ;   JTAG mailbox output 1               
146 SYSBERRIV   .equ SYS_SFR + 18h  ;   Bus Error vector generator          
147 SYSUNIV     .equ SYS_SFR + 1Ah  ;   User NMI vector generator           
148 SYSSNIV     .equ SYS_SFR + 1Ch  ;   System NMI vector generator         
149 SYSRSTIV    .equ SYS_SFR + 1Eh  ;   Reset vector generator              
150 SYSCFG0     .equ SYS_SFR + 20h  ;   System configuration 0              
151 SYSCFG1     .equ SYS_SFR + 22h  ;   System configuration 1              
152 SYSCFG2     .equ SYS_SFR + 24h  ;   System configuration 2        
153 SYSCFG3     .equ SYS_SFR + 26h  ;   System configuration 3        
154       
155 ; ----------------------------------------------------------------------
156 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
157 ; ----------------------------------------------------------------------
158
159 WDTCTL      .equ WDT_A_SFR + 00h    ; Watchdog Timer Control */
160
161 ; WDTCTL Control Bits
162 WDTPW       .equ 5A00h
163 WDTHOLD     .equ 0080h  ; WDT - Timer hold
164 WDTCNTCL    .equ 0008h  ; WDT timer counter clear
165
166
167 ; ----------------------------------------------------------------------
168 ; FRAM config
169 ; ----------------------------------------------------------------------
170
171 FRCTL0      .equ FRAM_SFR + 00h   ; FRAM Controller Control 0
172 FRCTL0_H    .equ FRAM_SFR + 01h   ; FRAM Controller Control 0 high byte
173
174 ; ----------------------------------------------------------------------
175 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
176 ; ----------------------------------------------------------------------
177
178 CSCTL0      .equ CS_SFR + 00h   ; Clock System Control Register 0
179 CSCTL1      .equ CS_SFR + 02h   ; Clock System Control Register 1
180 CSCTL2      .equ CS_SFR + 04h   ; Clock System Control Register 2
181 CSCTL3      .equ CS_SFR + 06h   ; Clock System Control Register 3
182 CSCTL4      .equ CS_SFR + 08h   ; Clock System Control Register 4
183 CSCTL5      .equ CS_SFR + 0Ah   ; Clock System Control Register 5
184 CSCTL6      .equ CS_SFR + 0Ch   ; Clock System Control Register 6
185 CSCTL7      .equ CS_SFR + 0Eh   ; Clock System Control Register 7
186 CSCTL8      .equ CS_SFR + 10h   ; Clock System Control Register 8
187
188 ; ----------------------------------------------------------------------
189 ; POWER ON RESET AND INITIALIZATION : PORT1/2
190 ; ----------------------------------------------------------------------
191
192 PAIN        .equ PA_SFR + 00h    ; Port A Input
193 PAOUT       .equ PA_SFR + 02h    ; Port A Output
194 PADIR       .equ PA_SFR + 04h    ; Port A Direction
195 PAREN       .equ PA_SFR + 06h    ; Port A Resistor Enable
196 PASEL0      .equ PA_SFR + 0Ah    ; Port A Selection 0
197 PASEL1      .equ PA_SFR + 0Ch    ; Port A Selection 1
198 PAIES       .equ PA_SFR + 18h    ; Port A Interrupt Edge Select
199 PAIE        .equ PA_SFR + 1Ah    ; Port A Interrupt Enable
200 PAIFG       .equ PA_SFR + 1Ch    ; Port A Interrupt Flag
201
202 P1IN        .equ PA_SFR + 00h    ; Port 1 Input
203 P1OUT       .equ PA_SFR + 02h    ; Port 1 Output
204 P1DIR       .equ PA_SFR + 04h    ; Port 1 Direction
205 P1REN       .equ PA_SFR + 06h    ; Port 1 Resistor Enable
206 P1SEL0      .equ PA_SFR + 0Ah    ; Port 1 Selection 0
207 P1SEL1      .equ PA_SFR + 0Ch    ; Port 1 Selection 1
208 P1IV        .equ PA_SFR + 0Eh    ; Port 1 Interrupt Vector word 
209 P1IES       .equ PA_SFR + 18h    ; Port 1 Interrupt Edge Select
210 P1IE        .equ PA_SFR + 1Ah    ; Port 1 Interrupt Enable
211 P1IFG       .equ PA_SFR + 1Ch    ; Port 1 Interrupt Flag
212
213 P2IN        .equ PA_SFR + 01h    ; Port 2 Input
214 P2OUT       .equ PA_SFR + 03h    ; Port 2 Output
215 P2DIR       .equ PA_SFR + 05h    ; Port 2 Direction
216 P2REN       .equ PA_SFR + 07h    ; Port 2 Resistor Enable
217 P2SEL0      .equ PA_SFR + 0Bh    ; Port 2 Selection 0
218 P2SEL1      .equ PA_SFR + 0Dh    ; Port 2 Selection 1
219 P2IES       .equ PA_SFR + 19h    ; Port 2 Interrupt Edge Select
220 P2IE        .equ PA_SFR + 1Bh    ; Port 2 Interrupt Enable
221 P2IFG       .equ PA_SFR + 1Dh    ; Port 2 Interrupt Flag
222 P2IV        .equ PA_SFR + 1Eh    ; Port 2 Interrupt Vector word 
223
224 ; ----------------------------------------------------------------------
225 ; POWER ON RESET AND INITIALIZATION : PORT3/4
226 ; ----------------------------------------------------------------------
227
228 PBIN        .equ PB_SFR + 00h    ; Port B Input
229 PBOUT       .equ PB_SFR + 02h    ; Port B Output
230 PBDIR       .equ PB_SFR + 04h    ; Port B Direction
231 PBREN       .equ PB_SFR + 06h    ; Port B Resistor Enable
232 PBSEL0      .equ PB_SFR + 0Ah    ; Port B Selection 0
233 PBSEL1      .equ PB_SFR + 0Ch    ; Port B Selection 1
234 PBIES       .equ PB_SFR + 18h    ; Port B Interrupt Edge Select
235 PBIE        .equ PB_SFR + 1Ah    ; Port B Interrupt Enable
236 PBIFG       .equ PB_SFR + 1Ch    ; Port B Interrupt Flag
237
238 P3IN        .equ PB_SFR + 00h    ; Port 3 Input
239 P3OUT       .equ PB_SFR + 02h    ; Port 3 Output
240 P3DIR       .equ PB_SFR + 04h    ; Port 3 Direction
241 P3REN       .equ PB_SFR + 06h    ; Port 3 Resistor Enable
242 P3SEL0      .equ PB_SFR + 0Ah    ; Port 3 Selection 0
243 P3SEL1      .equ PB_SFR + 0Ch    ; Port 3 Selection 1
244 P3IV        .equ PB_SFR + 0Eh    ; Port 3 Interrupt Vector word 
245 P3IES       .equ PB_SFR + 18h    ; Port 3 Interrupt Edge Select
246 P3IE        .equ PB_SFR + 1Ah    ; Port 3 Interrupt Enable
247 P3IFG       .equ PB_SFR + 1Ch    ; Port 3 Interrupt Flag
248
249 P4IN        .equ PB_SFR + 01h    ; Port 4 Input
250 P4OUT       .equ PB_SFR + 03h    ; Port 4 Output
251 P4DIR       .equ PB_SFR + 05h    ; Port 4 Direction
252 P4REN       .equ PB_SFR + 07h    ; Port 4 Resistor Enable
253 P4SEL0      .equ PB_SFR + 0Bh    ; Port 4 Selection 0
254 P4SEL1      .equ PB_SFR + 0Dh    ; Port 4 Selection 1
255 P4IES       .equ PB_SFR + 19h    ; Port 4 Interrupt Edge Select
256 P4IE        .equ PB_SFR + 1Bh    ; Port 4 Interrupt Enable
257 P4IFG       .equ PB_SFR + 1Dh    ; Port 4 Interrupt Flag
258 P4IV        .equ PB_SFR + 1Eh    ; Port 4 Interrupt Vector word 
259
260 ; ----------------------------------------------------------------------
261 ; POWER ON RESET AND INITIALIZATION : PORT5/6
262 ; ----------------------------------------------------------------------
263 ; PC = P6:P5
264
265 PCIN        .set PC_SFR + 00h    ; Port C Input
266 PCOUT       .set PC_SFR + 02h    ; Port C Output 1/0 or pullup/pulldown resistor
267 PCDIR       .set PC_SFR + 04h    ; Port C Direction
268 PCREN       .set PC_SFR + 06h    ; Port C Resistor Enable
269 PCSEL0      .set PC_SFR + 0Ah    ; Port C Selection 0
270 PCSEL1      .set PC_SFR + 0Ch    ; Port C Selection 1
271
272 P5IN        .set PC_SFR + 00h    ; Port 5 Input */
273 P5OUT       .set PC_SFR + 02h    ; Port 5 Output
274 P5DIR       .set PC_SFR + 04h    ; Port 5 Direction
275 P5REN       .set PC_SFR + 06h    ; Port 5 Resistor Enable
276 P5SEL0      .set PC_SFR + 0Ah    ; Port 5 Selection 0
277 P5SEL1      .set PC_SFR + 0Ch    ; Port 5 Selection 1
278
279 P6IN        .set PC_SFR + 01h    ; Port 6 Input */
280 P6OUT       .set PC_SFR + 03h    ; Port 6 Output
281 P6DIR       .set PC_SFR + 05h    ; Port 6 Direction
282 P6REN       .set PC_SFR + 07h    ; Port 6 Resistor Enable
283 P6SEL0      .set PC_SFR + 0Bh    ; Port 6 Selection 0
284 P6SEL1      .set PC_SFR + 0Dh    ; Port 6 Selection 1
285
286
287
288 ; ----------------------------------------------------------------------
289 RTC
290 ; ----------------------------------------------------------------------
291 RTCCTL      .equ RTC_SFR + 00h  ; Real-Time Clock Control 
292 RTCIV       .equ RTC_SFR + 04h  ; Real-Time Clock Interrupt Vector 
293 RTCMOD      .equ RTC_SFR + 08h  ; Real-Timer Clock Modulo 
294 RTCCNT      .equ RTC_SFR + 0Ch  ; Real-Time Clock Counter 
295
296 ; ----------------------------------------------------------------------
297 MPY_32
298 ; ----------------------------------------------------------------------
299
300 MPY       .equ MPY_SFR + 00h    ; Multiply16 Unsigned/Operand 1 */
301 MPYS      .equ MPY_SFR + 02h    ; Multiply16 signed/Operand 1
302 MAC       .equ MPY_SFR + 04h    ; MultiplyAccumulate16 Unsigned/Operand 1 */
303 MACS      .equ MPY_SFR + 06h    ; MultiplyAccumulate16 signed/Operand 1
304 OP2       .equ MPY_SFR + 08h    ; Operand2_16 */
305 RESLO     .equ MPY_SFR + 0Ah    ; 16x16-bit result low - least significant word */
306 RESHI     .equ MPY_SFR + 0Ch    ; 16x16-bit result high */
307 SUMEXT    .equ MPY_SFR + 0Eh    ; 16x16-bit sum extension register
308 MPY32L    .equ MPY_SFR + 10h    ; Multiply32 Unsigned/Operand 1
309 MPY32H    .equ MPY_SFR + 12h    ; Multiply32 Unsigned/Operand 1
310 MPYS32L   .equ MPY_SFR + 14h    ; Multiply32 signed/Operand 1
311 MPYS32H   .equ MPY_SFR + 16h    ; Multiply32 signed/Operand 1
312 MAC32L    .equ MPY_SFR + 18h    ; MultiplyAccumulate32 Unsigned/Operand 1
313 MAC32H    .equ MPY_SFR + 1Ah    ; MultiplyAccumulate32 Unsigned/Operand 1
314 MACS32L   .equ MPY_SFR + 1Ch    ; MultiplyAccumulate32 signed/Operand 1
315 MACS32H   .equ MPY_SFR + 1Eh    ; MultiplyAccumulate32 signed/Operand 1
316 OP2L      .equ MPY_SFR + 20h    ; Multiply32 Operand 2
317 OP2H      .equ MPY_SFR + 22h    ; Multiply32 Operand 2
318 RES0      .equ MPY_SFR + 24h    ; 32x32-bit result 0 - least significant word */
319 RES1      .equ MPY_SFR + 26h    ; 32x32-bit result 1 */
320 RES2      .equ MPY_SFR + 28h    ; 32x32-bit result 2 */
321 RES3      .equ MPY_SFR + 2Ah    ; 32x32-bit result 3 */
322 MPY32CTL0 .equ MPY_SFR + 2Ch    ; MPY32 control register 0
323
324
325
326
327
328 UCSWRST         .equ 1  ; eUSCI Software Reset
329 UCTXIE          .equ 2  ; eUSCI Transmit Interrupt Enable
330 UCRXIE          .equ 1  ; eUSCI Receive Interrupt Enable
331 UCTXIFG         .equ 2  ; eUSCI Transmit Interrupt Flag
332 UCRXIFG         .equ 1  ; eUSCI Receive Interrupt Flag
333
334 ; ----------------------------------------------------------------------
335 eUSCI_A0
336 ; ----------------------------------------------------------------------
337
338     .IFDEF UCA0_TERM
339 TERMCTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
340 TERMBRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
341 TERMMCTLW       .equ eUSCI_A0_SFR + 08h    ; eUSCI_A0 Modulation Control
342 TERMRXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer
343 TERMTXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer
344 TERMIE          .equ eUSCI_A0_SFR + 1Ah    ; eUSCI_A0 Interrupt Enable Register
345 TERMIFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
346 TERMVEC         .equ 0FFE4h      ;  int vector for eUSCI_A0
347     .ENDIF ;UCA0_TERM
348
349     .IFDEF UCA0_SD
350 SD_CTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
351 SD_BRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
352 SD_RXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer 8
353 SD_TXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer 8
354 SD_IFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
355     .ENDIF ;UCA0_SD
356
357
358 ; ----------------------------------------------------------------------
359 eUSCI_A1
360 ; ----------------------------------------------------------------------
361     .IFDEF UCA1_TERM
362 TERMCTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
363 TERMBRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
364 TERMMCTLW       .equ eUSCI_A1_SFR + 08h    ; eUSCI_A1 Modulation Control
365 TERMRXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer
366 TERMTXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer
367 TERMIE          .equ eUSCI_A1_SFR + 1Ah    ; eUSCI_A1 Interrupt Enable Register
368 TERMIFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
369 TERMVEC         .equ 0FFE2h      ;  int vector for eUSCI_A1
370     .ENDIF ;UCA1_TERM
371
372     .IFDEF UCA1_SD
373 SD_CTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
374 SD_BRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
375 SD_RXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer 8
376 SD_TXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer 8
377 SD_IFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
378     .ENDIF ;UCA1_SD
379
380 ; ----------------------------------------------------------------------
381 eUSCI_B0
382 ; ----------------------------------------------------------------------
383
384     .IFDEF UCB0_SD
385 SD_CTLW0       .equ eUSCI_B0_SFR + 00h    ; USCI_B0 Control Word Register 0
386 SD_BRW         .equ eUSCI_B0_SFR + 06h    ; USCI_B0 Baud Word Rate 0
387 SD_RXBUF       .equ eUSCI_B0_SFR + 0Ch    ; USCI_B0 Receive Buffer 8
388 SD_TXBUF       .equ eUSCI_B0_SFR + 0Eh    ; USCI_B0 Transmit Buffer 8
389 SD_IFG         .equ eUSCI_B0_SFR + 2Ch    ; USCI_B0 Interrupt Flags Register
390     .ENDIF ;UCB0_SD
391
392 ; ----------------------------------------------------------------------
393 eUSCI_B1
394 ; ----------------------------------------------------------------------
395     .IFDEF UCB1_SD
396 SD_CTLW0       .equ eUSCI_B1_SFR + 00h    ; USCI_B1 Control Word Register 0
397 SD_BRW         .equ eUSCI_B1_SFR + 06h    ; USCI_B1 Baud Word Rate 0
398 SD_RXBUF       .equ eUSCI_B1_SFR + 0Ch    ; USCI_B1 Receive Buffer 8
399 SD_TXBUF       .equ eUSCI_B1_SFR + 0Eh    ; USCI_B1 Transmit Buffer 8
400 SD_IFG         .equ eUSCI_B1_SFR + 2Ch    ; USCI_B1 Interrupt Flags Register
401     .ENDIF ;UCB1_SD
402
403 UCB0STATW       .equ eUSCI_B0_SFR + 08h     ; eUSCI_B0 Status words
404