Ich starte NASM Assembler nach FASM beenden. Ich kodiere dies in einem Windows-Betriebssystem. Mein Code lautet:NASM tutorial verwendet Int 80h, aber dies funktioniert nicht auf Windows
section.data ;Constant
msg: db "Hello World!"
msg_L: equ $-msg ; Current - msg1
section.bss ;Varialble
section.text ; Code
global [email protected]
[email protected]:
mov eax,4
mov ebx,1; Where to wrte it out. Terminal
mov ecx, msg
mov edx, msg_L
int 80h
mov eax, 1 ; EXIT COMMAND
mov ebx,0 ; No Eror
int 80h
es kompilieren und ausführen ich benutze:
nasm -f win32 test.asm -o test.o
ld test.o -o test.exe
ich zur Zeit dieses Video auf Tutorials auf NASM folgenden bin. Ich habe den Start in WIN32 geändert, aber wenn ich es ausführe, bleibt es hängen und läuft nicht ... Irgendwelche Probleme damit?
Eine Frage. Kann ich es auf meiner Linux-VM kompilieren und dann die .o-Datei an Windows senden und gut funktionieren? – amanuel2
Nein. Sie können es auf Ihrer Linux-VM kompilieren und * auf der Linux-VM ausführen *. Sie können es jedoch nicht unter Windows ausführen, da unter Windows keine Linux-Systemaufrufe ausgeführt werden. @dsafds –
Warum kann ich es nicht in meiner Linux VM kompilieren? Es funktioniert für ihn: https: //www.youtube.com/watch? V = uca_zY8ZNpA (Ubuntu BTW) – amanuel2