Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Programmgeruest zur Aufgabe Termin6 WS2013
- // von: Manfred Pester
- // vom: 18.09.2013
- // @ int Operationen(volatile unsigned int* u_int_Taster, volatile unsigned int* u_int_LedsOn)
- @ Diese Funktion soll auf
- @ - LED DS1 (Bit 8) das Ergebnis von SW1 AND SW2 anzeigen
- @ - LED DS2 (Bit 9) das Ergebnis von SW1 OR SW2 anzeigen
- @ - LED DS3 (Bit 10) das Ergebnis von SW1 EOR SW2 anzeigen
- @ - LED DS4 und 5 (Bit 11/12) das Ergebnis von SW1 ADD SW2 anzeigen
- @ - LED DS6 und 7 (Bit 13/14) das Ergebnis von SW1 SUB SW2 anzeigen
- @ und bei gedrueckter TASTE SW3 (Bit 5) soll die Funktion ein TRUE (Wert ungleich 0) ansonsten FALSE (Wert gleich 0) an das aufrufende Programm zurueck geben.
- @ ACHTUNG die Tasten und auch die Leuchtdioden sind Low-Aktiv beschaltet.
- .file "Funktionen.S"
- .text
- .align 2
- .global main
- .type main, function
- .global Operationen
- .type Operationen, %function
- Operationen:
- cmp r1, #0
- movle r0, #0
- ble ende
- mov r2, #0
- mov r3, #0
- schleife:
- ADD r11, r1, r3, LSL #2
- LDR r11, [r11]
- ADD r2, r2, r11
- ADD r3, r3, #1
- CMP r3, r2
- BEQ schleife
- LSRS r2, #1
- MOVVC r0, #1
- MOVVS r0, #0
- ende:
- bx lr
- .Lfe1:
- .size Operationen,.Lfe1- Operationen
- // End of File
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement