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 18:49] – [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 157: | Zeile 168: | ||
| - | ==== Aufgabe D3: Multiplikation | + | ==== Aufgabe D3: 3er-Reihe |
| - | **Ziel: | + | **Ziel: |
| 1) Programmiere das Programm zuerst mit Python. Dabei dürfen nur die mathematischen Operationen $+$ und $-$ verwendet werden. | 1) Programmiere das Programm zuerst mit Python. Dabei dürfen nur die mathematischen Operationen $+$ und $-$ verwendet werden. | ||
| Zeile 166: | Zeile 177: | ||
| <code python> | <code python> | ||
| - | a = input() | + | n = input() |
| - | b = input() | + | |
| - | r = 0 # result | + | |
| - | + | ||
| - | while a > 0: | + | |
| - | r = r + b | + | |
| - | a = a - 1 | + | |
| - | print(r) | + | x = 3 |
| + | while n > 0: | ||
| + | | ||
| + | x = x + 3 | ||
| + | n = n - 1 | ||
| </ | </ | ||
| Zeile 182: | Zeile 191: | ||
| 3) Implementiere es mit dem LMC. | 3) Implementiere es mit dem LMC. | ||
| + | |||
| ===== Lösungen ===== | ===== Lösungen ===== | ||
| - | < | + | < |
| ++++Lösungen| | ++++Lösungen| | ||
| Zeile 208: | Zeile 218: | ||
| </ | </ | ||
| - | == Multiplikation | + | == 3er-Reihe |
| < | < | ||
| INP | INP | ||
| - | STO A | + | STO N |
| - | INP | + | LOOP |
| - | STO B | + | BRZ END // jump to end if N=0 |
| - | JUP LDA A | + | |
| - | BRZ FINE | + | |
| SUB ONE | SUB ONE | ||
| - | | + | |
| - | LDA R | + | LDA X |
| - | ADD B | + | |
| - | STA R | + | |
| - | BRA JUP | + | |
| - | FINE LDA R | + | |
| OUT | OUT | ||
| - | HLT | + | |
| + | STO X | ||
| + | BRA LOOP | ||
| + | END HLT | ||
| + | N DAT 0 | ||
| + | X DAT 3 | ||
| + | STEP DAT 3 | ||
| ONE DAT 1 | ONE DAT 1 | ||
| - | A DAT 0 | ||
| - | B DAT 0 | ||
| - | R DAT 0 | ||
| </ | </ | ||
| + | |||
| ++++ | ++++ | ||
| </ | </ | ||