Advertisement
Guest User

Untitled

a guest
Jun 29th, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 1.21 KB | None | 0 0
  1. // Programmgeruest zur Aufgabe Termin6 WS2013
  2. // von: Manfred Pester
  3. // vom: 18.09.2013
  4. // @ int Operationen(volatile unsigned int* u_int_Taster, volatile unsigned int* u_int_LedsOn)
  5. @ Diese Funktion soll auf
  6. @ - LED DS1 (Bit 8) das Ergebnis von SW1 AND SW2 anzeigen
  7. @ - LED DS2 (Bit 9) das Ergebnis von SW1 OR SW2 anzeigen
  8. @ - LED DS3 (Bit 10) das Ergebnis von SW1 EOR SW2 anzeigen
  9. @ - LED DS4 und 5 (Bit 11/12) das Ergebnis von SW1 ADD SW2 anzeigen
  10. @ - LED DS6 und 7 (Bit 13/14) das Ergebnis von SW1 SUB SW2 anzeigen
  11. @ 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.
  12. @ ACHTUNG die Tasten und auch die Leuchtdioden sind Low-Aktiv beschaltet.
  13.     .file   "Funktionen.S"
  14.     .text
  15.     .align  2
  16.     .global main
  17.     .type   main, function
  18.     .global Operationen
  19.     .type   Operationen, %function
  20. Operationen:
  21.     cmp r1, #0
  22.     movle r0, #0
  23.     ble ende
  24.     mov r2, #0
  25.     mov r3, #0
  26. schleife:
  27.     ADD r11, r1, r3, LSL #2
  28.     LDR r11, [r11]
  29.     ADD r2, r2, r11
  30.     ADD r3, r3, #1
  31.     CMP r3, r2
  32.     BEQ schleife
  33.     LSRS r2, #1
  34.     MOVVC r0, #1
  35.     MOVVS r0, #0
  36. ende:
  37.     bx lr
  38.      
  39. .Lfe1:
  40.     .size   Operationen,.Lfe1- Operationen
  41. // End of File
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement