Ablauf von Maschienen COde

OP #4476327
Lesenswert?

Hallo
Habe Probleme mit der b. also das in der Tabelle einzutragen.

a) Ermitteln Sie von folgendem Programm den Maschinencode mit Adressen:
MAIN:
ORG 0FFEh
 MOV R2, A
ADD A, #04h
LCALL SR
MOV @R0, A
LJMP 8091h


SR:
ORG 3020h
PUSH ACC
INC A
MOV 07, A
POP ACC
RET




b) Das Programm werde abgearbeitet. Tragen Sie in die unten stehende 
Tabelle die Ergebnisdaten ein, die nach Ablauf im internen Datenspeicher 
und im ARegister abgelegt sind.
(Die TAbelle ist im Anhang)


Lösung:
a) Die Lösung ist im Anhang

b) Lösung im Anhang
Bin bis Lcall SR gekommen dann muss ich ja zum unterprogramm . da habe 
ich schwirigkeiten.
ALso habe 10 bei 08h also beim ersten stack eingetragen. Bis dahin

Vielen Dank
Angehängte Dateien:
Gast #4476351
Lesenswert?

Christian B. schrieb:
> Das Geile daran ist, dass der OP hier eine Antwort erwartet, ohne dass
> er die Frage überhaupt komplett gepostet hat.

Nimm dir erstmal einen Kaffee. Was fehlt dir an der Fragestellung?

Heip L. schrieb:
> Tragen Sie in die unten stehende Tabelle die Ergebnisdaten ein, die
> nach Ablauf im internen Datenspeicher und im ARegister abgelegt sind.

> Bin bis Lcall SR gekommen ...
#4476410
Lesenswert?

Hallo,

ich kenne den Prozessor jetzt nicht, zum Inhalt des Stackpointers und 
dessen Verhalten sehe ich auch keinen Hinweis.

Wenn das nicht angegeben ist, spielt es auch direkt keine Rolle.
Beim LCALL wird eben auf dem Stack gerettet, was die CPU da rettet, beim 
RET wird der Kram eben zurückgeholt.

In der SR wird ja nichts weltbewegendes gemacht, ACC wird gerettet,
A um eins erhöht und nach 07 geschreiben, wenn ich die Mnemotic jetzt 
richtig interpretiere.

PS: ach waren das noch Zeiten, aber eben bei mir 6800, 6502, Z80...

Gruß aus Berlin
Michael
Gast #4476418
Lesenswert?

Michael U. schrieb:
> ich kenne den Prozessor jetzt nicht, zum Inhalt des Stackpointers und
> dessen Verhalten sehe ich auch keinen Hinweis.

Lass es einen abstrakten Prozessor sein.

Da nichts weiter über den Stack gesagt wird, kannst du einfach davon 
ausgehen, dass der Stack außerhalb des fraglichen Speicherbereichs 
liegt. So einfach können solche Aufgabenstellungen sein.
Gast #4476439
Lesenswert?

Christian B. schrieb:
> Man kann nur raten was diese Opcodes machen sollen.

Aufgabenteil a) ist bereits gelöst. Alleine die bekannten Adresses geben 
ausreichen Anhaltpunkte für das Puzzle. Und wenn man sich an die 
üblichen Konventionen für Assembler hält, bleibt nicht viel Spielraum 
für die Interpretation, was da im Datenbereich passiert.

Wie das bei solchen Aufgaben so ist: Alles was nicht genauer angegeben 
ist, spielt für die Lösung keine Rolle.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren