;This program shows 'Hello world!' on the screen. section .text global _start ;must be declared for linker (ld) msg db "Hello world!",0xa ;our dear string len equ $ - msg ;length of our dear string _syscall: ;system call int 0x25 ret _start: ;tell linker entry point push dword len ;message length push dword msg ;message to write push dword 1 ;file descriptor (stdout) mov eax,0x3 ;system call number (sys_write) call _syscall ;call kernel add esp,12 ;clean stack (3 * 4) push dword 0 ;exit code mov eax,0x3f ;system call number (sys_exit) call _syscall ;call kernel ;no need to clean stack