Willkommen! Einloggen Ein neues Profil erzeugen

erweitert

ÜB 3 Übertragungsende

geschrieben von MePep 
ÜB 3 Übertragungsende
21.11.2020 11:02:31
Hallo,

auf dem ÜB3 steht.

"Beenden Sie die Übertragung, nachdem Befehl LOAD PC 0 übermittelt wurde. Wir nehmen der Einfachheit halber an, dass jedes Benutzerprogramm mit dem Befehl LOAD PC 0 endet, so dass nach Abarbeiten des Programms wieder in Ihr EPROM-Programm gesprungen wird, das das nächste Benutzerprogramm über die UART lädt. Nach der Übertragung springen Sie an Speicherstelle a, ab der Sie das Benutzerprogramm abgelegt haben"

Sehe ich das richtig, dass der Befehl LOAD PC 0 dann im Prinzip eine Schleife für unser Programm erzeugt, weil es eben dadurch wieder von vorne startet? Wenn aber jedes Benutzerprogramm damit endet und dadurch zurückgesprungen wird, wie soll man dann überhaupt eine Bedingung implementieren die den Teil "nach der Übertragung" realisiert? Oder soll man davon ausgehen das man nach LOAD PC 0 das Programm beendet und dann zur Speicherstelle a springt?

Mit freundlichen Grüßen
Re: ÜB 3 Übertragungsende
21.11.2020 16:56:19
Hallo,

wenn ich Sie richtig verstanden habe bringen Sie wohl da etwas durcheinander im Bezug auf LOADI PC 0 (wurde korrigiert in der neuen Version) als Übertragungsende. Ich versuche das nochmal etwas genauer zu erklären:

Wenn die ReTI gestartet wird, soll über die UART ein "Benutzerprogramm" von einem Peripheriegerät in den SRAM geladen werden. Dieses Benutzerprogramm kann aus beliebig vielen Befehlen bestehen (wir nehmen aber an, dass es auf jeden Fall in den SRAM passt). Für die Aufgabe nehmen wir jetzt an, dass der letzte übertragene Befehl jedes "Benutzerprogramms" LOADI PC 0 ist.

Ein übertragenes Benutzerprogramm wäre also sowas:
1) Befehl 1
2) Befehl 2
...
n-1) Befehl n-1
n) LOADI PC 0

Dadurch wissen wir, dass wenn der Befehl LOADI PC 0 empfangen wurde, wir die Übertragung beenden und wie in der Aufgabe vorgegeben an Speicheradresse "a" im SRAM springen sollen um mit der Ausführung des eben übertragenen Benutzerprogramms zu starten.

Da das übertragene Benutzerprogramm letztendlich mit LOADI PC 0 endet, wird nach der Abarbeitung des Benutzerprogramms wieder das EPROM-Programm gestartet und das nächste Benutzerprogramm übertragen.

Was bei Ihnen wohl für Verwirrung gesorgt hat ist, dass wir LOADI PC 0 nicht direkt ausführen wenn wir es empfangen. Sondern wir überprüfen nur (und wie das geht steht in den Hinweisen) OB der zuletzt empfangene Befehl LOADI PC 0 war. Wenn nein, fahren wir mit der Übertragung des nächsten Befehls fort (Stichwort äußere Schleife). Wenn ja, dann beenden wir die Übertragung und springen zu Speicheradresse "a" im SRAM um mit der Abarbeitung des eben empfangenen Benutzerprogramms zu beginnen.

Ich hoffe das es jetzt etwas klarer geworden ist, was es mit dem LOADI PC 0 auf sich hat.

Viele Grüße
Re: ÜB 3 Übertragungsende
21.11.2020 17:20:41
Vielen vielen Dank für die wunderbare Erklärung, jetzt ist es klar!
Sorry, in diesem Forum dürfen nur registrierte Benutzer schreiben.

Hier klicken, um sich einzuloggen