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 10:57] – [4. Vergleiche, Sprünge, Schleifen] spsef_informatik:assembler [2024-09-24 14:04] (aktuell) – [6. Funktionen] sps
Zeile 286: 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 einzugeben. Von diesen wird die grössere bestimmt und ausgegeben.\\ \\ 
-  * Schreibe ein Programm, das  +Wenn man dieses Programm z.B. in 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
-    * zwei Zahlen einliest + 
-    * die grössere der beiden Zahlen ermittelt +<nodisp 1> 
-    * und ausgibt+++++Lösung| 
-  * Wie wird die Verzweigung (if...else...) implementiert?+<code> 
 +        INP R0,2 
 +        INP R1,2 
 +        CMP R0,R1 
 +        BLE LOWER 
 +        OUT R0 
 +        BRA DONE 
 +LOWER   OUT R1 
 +DONE    HLT 
 +</code> 
 +++++ 
 +</nodisp>
 </box> </box>
  
Zeile 390: 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.1727175473.txt.gz
  • Zuletzt geändert: 2024-09-24 10:57
  • von sps