Sers.
Ich bin gerade am Durchwerkeln eines NASM Tutorials, welches mir schon bei der ersten Übung auf Seite 29 Probleme bereitet (s.
E-Book). Das Assemblieren der ASM Dateien bzw. das Kompilieren der C Dateien bereitet keine Probleme, ebenfalls das Linken der Objektdateien, nur die Executable will nicht wie es sein sollte. Als Fehler lese ich beim Ausführen immer dieses: "first.exe hat ein Problem festgestellt und muss beendet werden." Ãhm, lol?! Kann es bitte einer selbst mal ausprobieren, ob dies nur bei mir der Fall ist oder liegt da ein Fehler im Tutorial vor?
Hier noch die Dateien, die ihr benötigt.
Danke im Voraus.
//edit#1: So, hab die Fehlerberichterstattung mal umgekrempelt in XP, jetzt gibt er mir wenigstens schon eine etwas einleuchtendere Fehlernachricht zurück, welche ungefähr so lautet: "Die Anweisung in "0x004013a2" verweist auf Speicher in "0x?
?"...". Darauf hab ich mal das Programm durch W32Dasm gejagt, nen GOTO zu dieser Codeadresse durchgeführt und siehe da es liegt an der Anweisung LEAVE, d.h. irgendwas mit dem Stack scheint nicht so in Ordnung zu sein. Kann mir wer dabei weiterhelfen? Vielleicht liegt es auch an der ENTER Anweisung, weil dort zwei Nullen eingetragen wurden und dies deshalb bedeutet, dass überhaupt kein Speicher für den Stack eingerichtet wird, jedoch werden PUSHs und POPs angewandt? ô_à Kann es daran liegen?
//edit#2: Wenn ich den Stack per ENTER 100h, 0 auf 256 Bytes vergrößere gibt er mir ne "unbekannte Softwareausnahme" zurück. Also daran kann es nicht liegen. Ich denke sowieso, dass der GCC beim Linken schon nen eigenen Stack reserviert für das Programm. Irgendwelche Vorschläge?
.:Buster