.file "userapp.c" .arch msp430x149 /* Hardware multiplier registers: */ __MPY=0x130 __MPYS=0x132 __MAC=0x134 __MACS=0x136 __OP2=0x138 __RESLO=0x13a __RESHI=0x13c __SUMEXT=0x13e .global userappEnd .section .userappdata,"a",@progbits .p2align 1,0 .type userappEnd,@object .size userappEnd,2 userappEnd: .short __userapp_end .global userappRamEnd .p2align 1,0 .type userappRamEnd,@object .size userappRamEnd,2 userappRamEnd: .short __userapp_ram_end .global userappVersion .p2align 1,0 .type userappVersion,@object .size userappVersion,2 userappVersion: .short 1 .text .LC0: .string "Summand: " .LC1: .string "\r\n" .LC2: .string "Ergebnis: " .section .userappinit,"ax",@progbits .p2align 1,0 .global userappInit .type userappInit,@function /********************************** * Function 'add64' hier einfuegen **********************************/ /* Ende Function 'add64' */ /*********************** * Function 'output64' ***********************/ output64: mov @r12,r15 call #sendRS232Address mov 2(r12),r15 call #sendRS232Address mov 4(r12),r15 call #sendRS232Address mov 6(r12),r15 call #sendRS232Address ret /*********************** * Function `userappInit' ***********************/ userappInit: /* prologue: frame size = 6 */ .L__FrameSize_userappInit=0x6 .L__FrameOffset_userappInit=0xe push r11 push r10 push r5 push r4 mov r1, r5 add #10, r5 sub #6, r1 ; 6, fpn 1 mov r1,r4 /* prologue end (size=10) */ call #stopWatchdog call #initSensors /********************************** Beginn des Hauptprogramms **********************************/ .Start: /* Initialisiere Summand 1 */ mov #0x0510, r7 ; mov #0x1234, 0(r7) ; most significant bits mov #0x5678, 2(r7) ; ... mov #0x9ABC, 4(r7) ; ... mov #0xDEF0, 6(r7) ; least significant bits /* Initialisiere Summand 2 */ mov #0x0518, r8 ; mov #0x1234, 0(r8) ; most significant bits mov #0x5678, 2(r8) ; ... mov #0x9ABC, 4(r8) ; ... mov #0xDEF0, 6(r8) ; least significant bits /* Bilde Summe */ mov #0x0520, r9 ; call #add64 /* Ausgabe Summanden + Ergebnis */ mov #.LC0, r15 ; Text call #sendRS232String mov r7,r12 ; Summand 1 call #output64 mov #.LC1, r15 ; Leerzeile call #sendRS232String mov #.LC0, r15 ; Text call #sendRS232String mov r8,r12 ; Summand 2 call #output64 mov #.LC1, r15 ; Leerzeile call #sendRS232String mov #.LC2, r15 ; Text call #sendRS232String mov r9,r12 ; Ergebnis call #output64 mov #.LC1, r15 ; Leerzeile call #sendRS232String /********************************** Ende des Hauptprogramms **********************************/ /* epilogue: frame size=6 */ add #6, r1 pop r4 pop r5 pop r10 pop r11 ret /* epilogue end (size=7) */ /* function userappInit size 66 (49) */ .Lfe1: .size userappInit,.Lfe1-userappInit /********* End of function ******/ .comm newADValues,1 .comm firmwareVersion,2,2 .comm sCounter,2,2 .comm cCounter,1