Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
ef_informatik:assembler [2024-09-24 09:22] – [4. Vergleiche, Sprünge, Schleifen] scaef_informatik:assembler [2024-09-24 14:04] (aktuell) – [6. Funktionen] sps
Zeile 251: Zeile 251:
 **Aufgabe 8:** **Aufgabe 8:**
  
-   Schreibe ein Programm, das einen Countdown 10,9,...1,0 ausgibt. +a) Schreibe ein Programm, das einen Countdown 10,9,...1,0 ausgibt. 
-   Schreibe ein Programm, das Zahlen 1 bis 100 addiert und am Ende die Summe ausgibt.+ 
 +<nodisp 1> 
 +++++Lösung| 
 +<code> 
 +        MOV R1,#10 
 +        MOV R2,#1 
 +LOOP:   OUT R1,4 
 +        SUB R1,R2 
 +        CMP R1,#0 
 +        BGE LOOP 
 +        HLT 
 +</code> 
 +++++ 
 +</nodisp> 
 + 
 +b) Schreibe ein Programm, das Zahlen 1 bis 100 addiert und am Ende die Summe ausgibt.
  
 <nodisp 1> <nodisp 1>
Zeile 271: Zeile 286:
  
 <box 100%> <box 100%>
-**Aufgabe 9:** +**Aufgabe 9:** Schreibe ein Programm, welches das Maximum zweier Zahlen bestimmt: Der Benutzer soll hintereinander aufgefordert werden, zwei Zahlen einzugebenVon diesen wird die grössere bestimmt und ausgegeben.\\ \\ 
-  * Öffne in //Select// das Beispiel //max//+Wenn man dieses Programm z.Bin Python schreibt, implementiert man dazu eine Verzweigung (if-el(se)if)In Assembler wird dies wie eine Schleife (z.Bin letzter Aufgabemit Sprüngen implementiert
-  * Dem Kommentar kannst du entnehmen, was das Programm macht + 
-  * Probiere es mit drei Zahlenpaaren ausWelche Ausgabe erwartest du? +<nodisp 1> 
-    * Erste Zahl > zweite Zahl +++++Lösung| 
-    * Erste Zahl < zweite Zahl +<code> 
-    * Erste Zahl = zweite Zahl +        INP R0,2 
-  * Wie wird die Verzweigung (if...else...) implementiert?+        INP R1,2 
 +        CMP R0,R1 
 +        BLE LOWER 
 +        OUT R0 
 +        BRA DONE 
 +LOWER   OUT R1 
 +DONE    HLT 
 +</code> 
 +++++ 
 +</nodisp>
 </box> </box>
  
Zeile 377: Zeile 401:
 Iterativ: Iterativ:
         INP R0,2         INP R0,2
- MOV R1,#1 //Zähler +        PSH R0 
-        MOV R2,#1 //Produkt+        JMS FCLT 
 +        POP R0 
 +        OUT R0,4 
 +        HLT 
 +FCLT:   POP R0 
 +        MOV R1,#1    //Zähler 
 +        MOV R2,#1    //Produkt
 LOOP:   MUL R2,R1 LOOP:   MUL R2,R1
         ADD R1,#1         ADD R1,#1
         CMP R1,R0         CMP R1,R0
         BLE LOOP         BLE LOOP
-        OUT R2,4 +        PSH R2 
-        HLT+        RET 
  
  
  • ef_informatik/assembler.1727169721.txt.gz
  • Zuletzt geändert: 2024-09-24 09:22
  • von sca