Quiz 6.1: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 19: | Line 19: | ||
tab1: | tab1: | ||
.byte 1,2 | |||
.byte 3,4 | .byte 3,4 | ||
.byte 5,6 | .byte 5,6 | ||
Revision as of 09:17, 1 November 2016
r4 = 0x8100, r5 unchanged r4 = 0x8101, r5 = 0x0001 r4 = 0x0003, r5 = 0x0001 r4 = 0x0003, r5 = 0x0004 r4 = 0x0003, r5 = 0x8101 r4 = 0x0006, r5 = 0x8101 r4 = 0x0006, r5 = 0x8103 r4 = 0x0006, r5 = 0x0004
You can play with this program below, and see it yourself. Just remember that #tab1 is 0x4400 on the MSP430F5529.
;-------------------------------------------------------------------------------
; MSP430 Assembler Code Template for use with TI Code Composer Studio
;
;
;-------------------------------------------------------------------------------
.cdecls C,LIST,"msp430.h" ; Include device header file
tab1:
.byte 1,2
.byte 3,4
.byte 5,6
.byte 7,8
tab2: .word tab1+0
.word tab1+1
.word tab1+2
.word tab1+3
.word tab1+4
.word tab1+5
.word tab1+6
.word tab1+7
;-------------------------------------------------------------------------------
.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
;-------------------------------------------------------------------------------
; Main loop here
;-------------------------------------------------------------------------------
mov.w #tab1,r4
mov.b @r4+,r5
mov.w #3,r4
mov.b tab1(r4),r5
mov.w tab2(r4),r5
add.w r4,r4
mov.w tab2(r4),r5
mov.b @r5,r5
jmp $
;-------------------------------------------------------------------------------
; Stack Pointer definition
;-------------------------------------------------------------------------------
.global __STACK_END
.sect .stack
;-------------------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------------------
.sect ".reset" ; MSP430 RESET Vector
.short RESET