Quiz 6.1: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<nowiki> |
|||
r4 = 0x8100, r5 unchanged |
r4 = 0x8100, r5 unchanged |
||
r4 = 0x8101, r5 = 0x0001 |
r4 = 0x8101, r5 = 0x0001 |
||
Line 7: | Line 8: | ||
r4 = 0x0006, r5 = 0x8103 |
r4 = 0x0006, r5 = 0x8103 |
||
r4 = 0x0006, r5 = 0x0004 |
r4 = 0x0006, r5 = 0x0004 |
||
</nowiki> |
|||
You can play with this program below, and see it yourself. Just remember that #tab1 is 0x4400 on the MSP430F5529. |
You can play with this program below, and see it yourself. Just remember that #tab1 is 0x4400 on the MSP430F5529. |
||
Line 19: | Line 20: | ||
tab1: |
tab1: |
||
.byte 1,2 |
|||
.byte 3,4 |
.byte 3,4 |
||
.byte 5,6 |
.byte 5,6 |
Latest revision as of 08:18, 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