Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:computerarchitektur_sca:aufgaben_d [2023-08-27 19:08] – [Lösungen] sca | gf_informatik:computerarchitektur_sca:aufgaben_d [2023-09-25 07:24] (aktuell) – [Lösungen] sca | ||
---|---|---|---|
Zeile 88: | Zeile 88: | ||
< | < | ||
- | LDA TEN | + | LDA START // Lade Startwert in Akk. |
LOOP OUT | LOOP OUT | ||
SUB ONE | SUB ONE | ||
- | BRP LOOP | + | BRP LOOP // Falls Akk. > 0, Countdown also noch nicht fertig springe nach oben (zu LOOP) |
HLT | HLT | ||
ONE DAT 1 | ONE DAT 1 | ||
- | TEN DAT 10 | + | START DAT 10 |
</ | </ | ||
Zeile 115: | Zeile 115: | ||
</ | </ | ||
+ | Eine weitere Lösung: | ||
+ | < | ||
+ | LDA START | ||
+ | LOOP OUT | ||
+ | BRZ END | ||
+ | SUB ONE | ||
+ | BRA LOOP | ||
+ | END HLT | ||
+ | START DAT 10 | ||
+ | ONE DAT 1 | ||
+ | </ | ||
++++ | ++++ | ||
Zeile 181: | Zeile 192: | ||
3) Implementiere es mit dem LMC. | 3) Implementiere es mit dem LMC. | ||
- | ==== Aufgabe D4: Multiplikation ==== | ||
- | |||
- | **Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Diese werden dann multipliziert. Das Resultat wird ausgegeben und gespeichert. | ||
- | |||
- | 1) Programmiere das Programm zuerst mit Python. Dabei dürfen nur die mathematischen Operationen $+$ und $-$ verwendet werden. | ||
- | |||
- | ++++Lösung| | ||
- | |||
- | <code python> | ||
- | a = input() | ||
- | b = input() | ||
- | r = 0 # result | ||
- | |||
- | while a > 0: | ||
- | r = r + b | ||
- | a = a - 1 | ||
- | |||
- | print(r) | ||
- | </ | ||
- | |||
- | ++++ | ||
- | |||
- | 2) Mache einen Plan: Wie kannst du das Programm mit dem LMC schreiben? | ||
- | |||
- | 3) Implementiere es mit dem LMC. | ||
===== Lösungen ===== | ===== Lösungen ===== | ||
- | < | + | < |
++++Lösungen| | ++++Lösungen| | ||
Zeile 253: | Zeile 239: | ||
</ | </ | ||
- | == Multiplikation == | ||
- | |||
- | |||
- | < | ||
- | INP | ||
- | STO A | ||
- | INP | ||
- | STO B | ||
- | JMP LDA A | ||
- | BRZ FINE | ||
- | SUB ONE | ||
- | STA A | ||
- | LDA R | ||
- | ADD B | ||
- | STA R | ||
- | BRA JMP | ||
- | FINE LDA R | ||
- | OUT | ||
- | HLT | ||
- | ONE DAT 1 | ||
- | A DAT 0 | ||
- | B DAT 0 | ||
- | R DAT 0 | ||
- | </ | ||
++++ | ++++ | ||
</ | </ |