- how to compile:
nasm -f elf32 -o <filename>.o <filename>.asm
ld -m elf_i386 -o <filename> <filename>.o; template code: hello world section .text global _start
_start: mov ebx, 0x1 mov ecx, hello mov edx, helloLen mov eax, 0x4 int 0x80
xor ebx, ebx
mov eax, 0x1
int 0x80
section .data hello db "Hello World", 0xa helloLen equ $-hello
; nasm -f elf64 -o .o .asm ; ld -o .o ; template code: hello world section .text global _start
_start: mov rdi, 0x1 mov rsi, hello mov rdx, helloLen mov rax, 0x1 syscall
xor rdi, rdi
mov rax, 0x3c
syscall
section .data hello db "Hello World", 0xa helloLen equ $-hello
; nasm -f elf32 -o .o .asm ; ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o -lc .o ; template code: hello world extern puts extern exit
section .text global _start
_start: push hello call puts add esp, 0x4
mov eax, 0xa
call exit
section .data hello db "Hello World"
Thank you, your template code helps me a lot