Probleme mit dem allseits beliebten NASM
-
Hallo Leute
Ich wollte gerade ne COFF OBJ-File linken und da kam. Ein Entrypunkt gefunden.
Der Code:;do nothing section .text message db "Hello World",10,13,"$" global __start __start: mov edx,message mov ah,0 int21
laut nasm doc ist __start: der Entrypoint..
Was ist zu tun?
-
und wieso kann ich folgenden Code nicht mit nasm übersetzen?
.model small .data message db "Hallo World",10,13,"$" .code .startup lea dx, message mov ah,9 int 21h .exit end
gibt's da keinen Schalter füs einen Doskompatibeln und codetechnisch MASM kompatiblen assemblen?
-
Hi.
Original erstellt von stealth00:**
Ich wollte gerade ne COFF OBJ-File linken und da kam. Ein Entrypunkt gefunden.**Gehe ich recht in der Annahme, dass das "Kein Entrypoint gefunden" heissen sollte?
Wenn ja:
So weit ich das in der NASM Doc. gelesen habe, kann in COFFs kein Entrypoint definiert werden. Fuer normale .obj-Dateien wird der Entry-Point durch das reservierte Symbol "..start" festgelegt.
Nun kannst du dir also aussuchen, ob du nun die prozedur in der Assemblerdatei erst aus deinem C-Code heraus aufrufst oder stattdessen alles zu .obj-dateien compilierst und anschliessend linkst.Original erstellt von stealth00:**
gibt's da keinen Schalter füs einen Doskompatibeln und codetechnisch MASM kompatiblen assemblen?**Noe, NASM ist nunmal nicht MASM.
Was meinst du mit "Doskompatibeln"?
Es gibt eine DOS-Version von NASM, falls du Programme fuer DOS erstellen willst...
-
ok, thx..
das mit coff linken etc ist hilfreich..
Hab inzwischen schon ein bisschen rumgespielt und probiere z.Z. hauptsächlich die Probesachen mit den MASM32 aus..
Der funzt realativ gut...