Assembler printf und scanf code?

1 Antwort

Wie du die Parameter übergibst und Rückgabewerte erhälst hängt von cer Calling-Convention ab:

https://wiki.osdev.org/Calling_Conventions

https://wiki.osdev.org/System_V_ABI

Eine Sache die mir gerade auffällt:

 input: times 32 db 0

Die Größenangabe ist iirc in Byte. Was du hier möchtest ist wahrscheinlich eher "times 4". Das sollte aber eher nichts kaputt machen, denn du übergibst ja sowieso nur den Pointer.

Vielleicht musst du noch iregndwo flushen?

Schreib dir dieselbe App doch mal in C-Code und generiere dafür den Assembly-Code. Dann kannst du vergleichen.