Ich bin in Assemblersprache mit NASM ein Hallo Welt Programm mache auf 32-Bit-Windows 7 . Mein Code ist:erstellen mit NASM eine exe-Datei in der Montage auf 32-Bit-Windows-
section .text
global main ;must be declared for linker (ld)
main: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!', 0xa ;our dear string
len equ $ - msg ;length of our dear string
ich dieses Programm speichern als hello.asm. Als nächstes habe ich hello.o mit:
ld -s -o hello hello.o
Aber jetzt werde diesen Fehler I:
nasm -f elf hello.asm
Nun Ich versuche, die exe Datei mit diesem Befehl erstellen
ld is not recognized as an internal or external command, operable program or batch
Warum bekomme ich diesen Fehler, und wie kann ich es beheben?
_LD_ ist ein Teil des _NASM_ nicht erwähnt hat. Wenn Sie _LD_ verwenden möchten, können Sie eine GNU-Werkzeugkette herunterladen, die binutils enthält (_LD_ ist Teil von Binutils). Das TDM-GCC-Produkt (Open Source) hat ein Installationsprogramm mit einer kompletten GCC/Binutils-Werkzeugkette: https://sourceforge.net/projects/tdm-gcc/ –
Ich möchte eine EXE-Datei mit nasm in Windows 32bit –
erstellen Befehl muss ich verwenden. –