minimal programm mit nasm.exe und alink.exe crasht :-(

10/02/2010 - 18:59 von Jens Kallup | Report spam
Hallo,

habe mir das assembler paket nasm und alink geladen.
ich war recht erstaunt, wie klein die programme sind.

kann einer mal hier reinschauen? ->
http://kallup.part-time-scientists....ispiel.rar die 1.exe macht mir
sorgen, compiliert mit "nasm -fobj -O2 -o 1.obj 1.asm" und gelinkt mit
"alink -c -oPE -subsys gui 1.obj" trotzdem crasht das programm :(
irgendwer ideen?

für sachdienliche hinweise bin ich sehr dankbar!

mfg
jens
 

Lesen sie die antworten

#1 Markus Wichmann
17/02/2010 - 13:22 | Warnen spam
Jens Kallup () schrieb:
Hallo,

habe mir das assembler paket nasm und alink geladen.
ich war recht erstaunt, wie klein die programme sind.

kann einer mal hier reinschauen? ->
http://kallup.part-time-scientists....ispiel.rar die 1.exe macht mir
sorgen, compiliert mit "nasm -fobj -O2 -o 1.obj 1.asm" und gelinkt mit
"alink -c -oPE -subsys gui 1.obj" trotzdem crasht das programm :(
irgendwer ideen?

für sachdienliche hinweise bin ich sehr dankbar!

mfg
jens




Moment. Du gibst uns 10 KB unkommentiertes Assemblerlisting, bei dem ein
Großteil daraus besteht, irgendwelche Funktionen einer DLL aufzurufen,
deren Quelltext _nicht_ vorliegt. Und irgendwo da drin kommt ein Crash?

Du könntest mal rauskriegen, _wo_ das Programm crasht, und einen
Debugger benutzen. Dann musst du nicht immer hier nachfragen.

Dazu übersetzt du deine kmicelib einfach mal mit Debug-Optionen. Im
Falle des gcc ist das der Schalter "-g". Oh Wunder, beim NASM ebenfalls.

BTW: Wenn du den Quelltext veröffentlichen würdest, könnte ich das ganze
nach Linux portieren, um dann hier deine Probleme nachzuvollziehen.

Und lass deinen Webserver mal den richtigen Zeichensatz deklarieren:

Mit PHP fügst du einfach ganz am Anfang folgenden Code ein:

<?php
header("Content-Type: text/html; charset=iso-8859-1");
?>

Oder, mit reinem HTML:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Bei XHTML entsprechend mit abschließendem "/".

BTW2: Eines kommt mir reichlich spanisch vor: Alle deine Funktionen
erstellen sich eine Stackframe, die 0,5 kB groß ist. Wieso? Keine Lust
auf 2-pass-Compile? Im ersten Zug bestimmen, welche lokalen Variablen
gebraucht werden, und erst im zweiten Zug Assembler auswerfen?

Tschö,
Markus
Progress (n.): Process through which USENET evolved from smart people in
front of dumb terminals to dumb people in front of smart
terminals.

news://freenews.netfront.net/ - complaints:

Ähnliche fragen