Der Martin: Zwei Zahlen mit Assembler addieren und ausgeben

Beitrag lesen

Hallo Detlef,

bei mir ist es zwar schon Ewigkeiten her, dass ich Assembler programmiert
habe (außerdem für Dos und nicht für Linux), ...

ach, du auch?  ;-)

Hier fehlt der Speicherplatz, der dann das Ergebnis als Zeichenfolge
aufnehmen kann, damit du sie ausgeben kannst (oder willst du kryptische
Zeichen?)

Hypothetische Annahme: er Linux-Kernel hat eine Systemfunktion zur Ausgabe eines ganzzahligen Werts, die die Umwandlung in einen String selbständig macht. Unwahrscheinlich, aber denkbar.

mov eax,1        ;system call number (sys_exit)

Du hast die Adresse der (nichtvorhanden) Zeichenkette noch nicht in ecx
geaschrieben.

int 0x80               ;Kernel benachrichtigen (muss das eigentlich geschehen)

Du sagst also:
Lieber Kernel gib die (nicht vorhandene) Zeichenkentte aus, von der ich dir zwar die Länge (Ergebnis der Addition) mitgeteilt habe, ohne zu verraten, wo diese steht.

Nein, er sagt: Lieber Kernel, vergiss alles, was ich eben ausgerechnet habe und beende das Programm.

Wenn es etwas ausgeben würde, dann irgendetwas, dass zufällig in irgendeinem Speicherbereich steht, aber mit Sicherheit nicht das, was du erwartest.

Nö. Die Ausgabe wird ja gar nicht aufgerufen.
Schönen Abend noch,

Martin

PS: Ich war schneller!  :-P

--
Das Gehirn ist schon eine tolle Sache: Es fängt ganz von allein an zu arbeiten, wenn man morgens aufsteht, und hört erst damit auf, wenn man in der Schule ankommt.
  (alte Schülererkenntnis)