Blatt 3 Aufgabe 6.c)

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Blatt 3 Aufgabe 6.c)
Kurze Frage:

8.0/2.0 = 4.0

Code:

push #8.0
push #2.0
div
pop ERGEBNIS

=> ERGEBNIS = 4.0

Frage: Welcher Wert wird von welchem dividiert? Ist mein Code schon richtig oder muss die Push Anweisungen noch umgedreht werden?

Wie sieht es bei Sub aus? welcher Wert wird von welchem abgezogen???


Der erste Operand soll ganz oben auf dem Stack stehen und da steht in deinem Fall ja dann die 2. Also wäre das Ergebnis 1/4.


Ganz offensichtlich ist es aber leichter (?), im Forum eine mehrzeilige Frage zu stellen, als eine ebenso mehrzeilige Aufgabe bis zum Ende zu lesen.

Hinweis: Kein Forum in der Klausur.


Hm, werde ich mir für die Klausur merken :wink:
Sollange hoffe ich, dass Fragen noch erlaubt ist seth~

Danke jedenfalls für den Hinweis.


klaro :wink:


Schreibt man jetzt

push #8.0

oder

push 8.0

Dazu die Frage: Was ist nochmal ein umittelbar addressierbarer Operand?


Haengt von der Zielarchitektur bzw dem Assembler ab.

Gemaess (bisheriger) Vorlesungsfolien kennzeichnet # einen unmittelbar adressierten Operanden.

Erklaerung steht auf Uebungsblatt 01:

[quote]
Hinweis
Die Adressierungsart unmittelbarer Operand bedeutet, dass der Operand Teil des Befehlswortes ist und mit diesem bereits geladen wird. Für den Operanden ist also kein gesonderter Arbeitsspeicherzugriff nötig[/quote]

Kurz gesagt: Eine Konstante direkt im Assebler_code_, nicht im Datensegment.