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
gf_informatik:computerarchitektur_sca:aufgaben_b [2023-08-02 12:07] – [Aufgabe B1: Addition] scagf_informatik:computerarchitektur_sca:aufgaben_b [2023-08-18 06:32] (aktuell) – [Aufgabe B1: Addition] sca
Zeile 18: Zeile 18:
 {{:gf_informatik:lmc_zahlen_im_speicher.png?nolink&200|}} {{:gf_informatik:lmc_zahlen_im_speicher.png?nolink&200|}}
  
-2) Mit den Befehlen, die du im Aufgabenset A angetroffen hast, solltest du nun in der Lage sein, den zugehörigen Assemblercode zu schreiben. Notiere aber zuerst in Worten einen Plan, wie der Code grob aussehen soll (noch *kein* Assemblercode):+2) Mit den Befehlen, die du im Aufgabenset A angetroffen hast, solltest du nun in der Lage sein, den zugehörigen Assemblercode zu schreiben. Notiere aber zuerst in Worten einen Plan, wie der Code grob aussehen soll (noch *kein* Assemblercode).
  
 ++++Lösung| ++++Lösung|
Zeile 29: Zeile 29:
 ++++ ++++
  
-3) Schreibe nun den zugehörigen Assemblercode:+3) Schreibe nun den zugehörigen Assemblercode
 + 
 +**Achtung:** Nachdem du den Code geschrieben hast und "Submit" drückst, wird der Code in den Speicher geschrieben. Dementsprechend werden die Werte, die du bei 1) in den Speicher geschrieben hast, überschrieben und du musst sie neu eintippen.
  
 ++++Lösungen| ++++Lösungen|
Zeile 72: Zeile 74:
 ==== Aufgabe B2: Subtraktion ==== ==== Aufgabe B2: Subtraktion ====
  
-Schreibe folgendes Programm mit dem LMC: +Programm:
-Die Benutzerin soll nacheinander zwei Zahlen im Input-Feld eingeben können. Die beiden Zahlen werden dann voneinander subtrahiert. Das Resultat wird im Speicher gespeichert und ausgegeben.+
  
-++++Help Me I|+   1. Die Benutzerin soll nacheinander zwei Zahlen im Input-Feld eingeben können. 
 +   1. Die beiden Zahlen werden dann voneinander subtrahiert und zwar (erste Zahl) - (zweite Zahl). 
 +   1. Das Resultat wird im Speicher gespeichert und ausgegeben.
  
-   * Sehr ähnlich wie die Aufgabe vorher. +Auftrag:
-   * NeuFinde heraus, wie man Eingaben machen kann. Schaue dafür im Instruction Set nach. Falls du es wirklich nicht alleine schaffst -> Help Me II+
  
-+++++   1. Mache einen Programmierplan: Wie kannst du das Programm oben umsetzen? Überlege dir selber, vergleiche dann mit Lösung 1. 
 +   1. Schreibe folgendes Programm mit dem LMC:
  
-++++Help Me II| 
  
-   Input eingeben und in Akkumulator ablegen: `INP`entspricht Code `901`+++++Lösung 1| 
 + 
 +   1. Zuerst müssen Zahlen eingegeben werden. Mithilfe des Instruction Sets findest du heraus, wie das geht. 
 +   1. Die eingegebenen Zahlen müssen im RAM zwischengespeichert werden. 
 +   1. Danach ähnlich wie bei Addition: 
 +     1. erste Zahl von Speicher einlesen 
 +     1. zweite Zahl subtrahieren 
 +     1. Resultat speichern und ausgeben. 
 +   1. Programm beenden. 
 + 
 +Vielleicht fragst du dich, warum man die Zahlen **zwischenspeichern** muss und sie nach der Eingabe nicht direkt einlesen kann? Hier die Antwort: Verwendet man den Input Befehl, wird die Eingabe direkt in den Akkumulator geschrieben. Der vorherige Wert wird also überschrieben. Würde man rechnen (zweite Zahl) - (erste Zahl), so müsste man deshalb nur die erste Zahl zwischenspeichern. Da man die Subtraktion aber anders herum machen möchtemuss man beide zwischenspeichern.
  
 ++++ ++++
  
  
-++++Lösungen|+++++Lösung 2|
  
 <code assembler> <code assembler>
Zeile 101: Zeile 113:
         HLT         HLT
 </code> </code>
 +++++
  • gf_informatik/computerarchitektur_sca/aufgaben_b.1690978025.txt.gz
  • Zuletzt geändert: 2023-08-02 12:07
  • von sca