;-------------------------------------------------------------------------------

; MSP430 Assembler Code Template for use with TI Code Composer Studio

;

;

;-------------------------------------------------------------------------------

.cdecls C,LIST,"msp430.h" ; Include device header file

;-------------------------------------------------------------------------------

.def RESET ; Export program entry-point to

; make it known to linker.

;-------------------------------------------------------------------------------

.text ; Assemble into program memory.

.retain ; Override ELF conditional linking

; and retain current section.

.retainrefs ; And retain any sections that have

; references to current section.


;-------------------------------------------------------------------------------

RESET mov.w #__STACK_END,SP ; Initialize stackpointer

StopWDT mov.w #WDTPW|WDTHOLD,&WDTCTL ; Stop watchdog timer


.text ; program start

.global _main ; define entry point


_main:


NOP

mov.w #WDTPW+WDTHOLD,&WDTCTL ; stop watchdog timer

;Set the I/O port that controls the RED LED to an output.

; To do this set bit 0 in the P1DIR register. Leave all

; all other I/O lines as inputs


Call #SetIOPorts

Call #InitilizeDisplaySPI

Call #InitilizeDisplay

bic.b #01100001b, P2OUT

mov.b #01100001b, P2DIR

; echo peripheral swt

bis.b #00001100b, P1SEL

bis.b #00010000b, P2SEL

call #TimerSetUp



looptemp:

;mov.b #0xa5,R10

;call #SendSPI

;jmp looptemp

;bic #0X4100,&UCSCTL6

call #HalfSecondDelay

;bic.b #0X70,&UCSCTL1

;MOV #0X11FF,&UCSCTL2

;call #HalfSecondDelay



Mainloop:


bis.b #01100001b, P2OUT ;wait < 10 us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

nop ;wait 10us

bic.b #01100001b, P2OUT ;signal started


WaitDistance:

bit.w #CCI,&TA2CCTL1

jz WaitDistance

mov.w #0xFFFF,&TA2CCR0

mov.w #0xFFFF,&TA0CCR0


WaitLM:

bit.w #CCI,&TA2CCTL1

jnz WaitLM

WaitLR:


bit.w #CCI,&TA0CCTL1

jnz WaitLR


WaitTillDistanceIsLowLeft:

bit.w #CCI,&TA0CCTL2

jnz WaitTillDistanceIsLowLeft

mov.w TA2CCR1, R13

mov.w TA0CCR2, R7

mov.w TA0CCR1, R8

mov.w #0x0000,&TA2CCR0

mov.w #0x0000,&TA0CCR0


mov #0x1f,R10

call #SendSPI

mov #0x01,R10

call #SendSPI

mov #0x00,R10

call #SendSPI


rla.w R13

rla.w R13


bic.w #000000000001111b, R13


mov #0x5f,R10

call #SendSPI

mov.b LookUpTable(R13), R10

call #SendSPI

add.b #1, R13

mov.b LookUpTable(R13), R10

call #SendSPI

mov #0x0e, R10

call #SendSPI

mov #0x02,R10

call #SendSPI

add.b #1, R13

mov.b LookUpTable(R13), R10

call #SendSPI

add.b #1, R13

mov.b LookUpTable(R13), R10

call #SendSPI

mov #0x0d, R10

call #SendSPI

mov #0x04,R10

call #SendSPIf

call #HalfSecondDelay

jmp Mainloop

NOP


TimerSetUp:

; SMCLK, /8, Up mode, no interrupts

mov.w #0000001011010100b, &TA0CTL ;left right

mov.w #0000001011010100b, &TA2CTL

; Capture on faling, CCIxA, Synchronous, Capture, No interrupts

mov.w #1000100100000000b, &TA0CCTL2 ;left capture

mov.w #1000100100000000b, &TA0CCTL1 ;right capture

mov.w #1000100100000000b, &TA2CCTL1 ;front capture

mov.w #0000000000000111b, &TA0EX0

mov.w #0000000000000111b, &TA2EX0

ret


InitilizeDisplay:

bic.b #01000000b,P1OUT ;reset the display

call #HalfSecondDelay ;only need 20us but I have a half second delay.

bis.b #01000000b,P1OUT


mov.a #DisplayInitilizationData,R4


InitDisplayMore:

bic.b #00001000b,P2OUT

mov #0x1f,R10

call #SendSPI

mov.b @R4+,R5

cmp.b #0xff,R5

jz InitDisplayDone

mov.b R5,R10

and.b #0x0f,R10

call #SendSPI

rra.b R5

rra.b R5

rra.b R5

rra.b R5

mov.b R5,R10

and.b #0x0f,R10

call #SendSPI

bis.b #00001000b,P2OUT

jmp InitDisplayMore

InitDisplayDone:

bis.b #00001000b,P2OUT

ret

DisplayInitilizationData:

.byte 0x3A,0x01f,0x09,0x06,0x1E,0x39,0x1B,0x6E,0x56,0x7A,0x38,0x01,0x0F,0x39,0x56,0x70,0x38,0xff



Displaynumbers:


mov.a #DisplayNumberData,R4

bic.b #00001000b,P2OUT

DisplaynumbersMore:

mov.b @R4+,R10

cmp.b #0xff,R10

jz DisplaynumbersDone

call #SendSPI

jmp DisplaynumbersMore

DisplaynumbersDone:

bis.b #00001000b,P2OUT

ret

DisplayNumberData:

.byte 0x5f,0x01,0x03,0x02,0x03,0xff



DisplayLetters:


mov.a #DisplayLettersData,R4

bic.b #00001000b,P2OUT

DisplayLettersMore:

mov.b @R4+,R10

cmp.b #0xff,R10

jz DisplayLettersDone

call #SendSPI

jmp DisplayLettersMore

DisplayLettersDone:

bis.b #00001000b,P2OUT

ret

DisplayLettersData:

.byte 0x5f,0x03,0x05,0x09,0x06,0x0D,0x06,0x0F,0x06,0x0E,0x06,0x05,0x06,0xff



HalfSecondDelay:

mov #0x1,R14

OuterTimercountLoop:

mov #0xffff,R15

TimercountLoop:

nop

sub #1,R15

jnz TimercountLoop

sub #1,R14

jnz OuterTimercountLoop

ret

SetIOPorts:

; IO ports need to be defined as Inputs and outputs based on the development board

;

; PORT 1 bit direction function

; 0 output LED on Developmet board

; 1 input (pullup) Switch 2 on development board

; 2 input right distance sensor

; 3 input left distance sensor

; 4 output left pwm

; 5 output right pwm

; 6 output Display reset

; 7 input EzEET_uart

mov.b #00000011b,P1OUT ;set up all default output values and pullups

mov.b #00000010b,P1REN ;enable pull up/dn resistors

mov.b #01110001b,P1DIR ;set all pin directions per definition


; PORT 2 bit direction function

; 0 output Distance Right Trigger

; 1 input (pullup) Switch 1 on development board

; 2 output Direction of right motor

; 3 output Chip Select for display

; 4 input front distance sensor

; 5 output front distance sensor trigger

; 6 output left distance sensor trigger

; 7 output direction of left motor

mov.b #00001010b,P2OUT ;set up all default output values and pullups

mov.b #00000010b,P2REN ;enable pull up/dn resistors

mov.b #11101101b,P2DIR ;set all pin directions per definition


; PORT 3 bit direction function

; 0 output MOSI (also LED 1)

; 1 input MISO (also LED 2)

; 2 output SCLK (also LED 3)

; 3 output UART Tx (also LED 4)

; 4 input UART Rx (also LED 5)

; 5 output LED 6

; 6 output LED 7

; 7 output LED 8

mov.b #00000110b,P3OUT ;set up all default output values and pullups

mov.b #00000000b,P3REN ;enable pull up/dn resistors

mov.b #11101101b,P3DIR ;set all pin directions per definition

mov.b #00000111b,P3SEL

; PORT 4 bit direction function

; PORT 5 bit direction function

; PORT 6 bit direction function

; PORT 7 bit direction function

ret


InitilizeDisplaySPI:

bic.b #00001000b, &P2OUT ;Chip Select low initializer

mov.b #01000000b, &P1OUT ;Reset high initializer

mov.b #00001000b, &P2DIR ;Chip Select Output mode

mov.b #01000000b, &P1DIR ;Reset Output mode

mov.b #00000111b, &P3SEL ;SCLK, MOSI, MISO



mov.b #00000001b, UCB0CTL1 ;Allow modifications

mov.b #01001001b, &UCB0CTL0 ;Communication parameters

mov.b #11000001b, &UCB0CTL1 ;More parameters

mov.b #0x0B, &UCB0BR0 ;Setting baud rate to achieve 100 kHz clock

mov.b #0x00, &UCB0BR1

bic.b #00000001b, UCB0CTL1 ;Enable serial



bic.b #01000000b, &P1DIR ;Pull reset low

call #HalfSecondDelay ;Wait

; bic.b #01000000b, &P1DIR ;Pull reset high


nop

ret

SendSPI:

bis.b #01000000b, &P1DIR ;set Chip Select

mov.b R10, &UCB0TXBUF


CheckSTATUS:

bit.b #1, &UCB0STAT

jnz CheckSTATUS

nop


ret

nop


LookUpTable:

.byte 0x00, 0x03, 0x00, 0x03 ;transforming values from the timer to real value

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x00, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x01, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x02, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x03, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x04, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x05, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x06, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x07, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x08, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x00, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x00, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x01, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x02, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x03, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x04, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x05, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x06, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x07, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x08, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x01, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x00, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x01, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x02, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x03, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x04, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x05, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x06, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x07, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x08, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x02, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x00, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x01, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x02, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x03, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x04, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x05, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x06, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x07, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x08, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x03, 0x03, 0x09, 0x03

.byte 0x04, 0x03, 0x00, 0x03





;-------------------------------------------------------------------------------

; Stack Pointer definition

;-------------------------------------------------------------------------------

.global __STACK_END

.sect .stack

;-------------------------------------------------------------------------------

; Interrupt Vectors

;-------------------------------------------------------------------------------

.sect ".reset" ; MSP430 RESET Vector

.short RESET