simple hello world asm32

sedikit kisah tentang belajar assembly 32 bit di lingkungan linux:

section .data
pesan db "Hello world",10 ; variable pesan berisi "Hello world" dan diakhiri nilai 10 yaitu newline
len equ $-pesan ; panjang string adalah mengurangi address di baris ini dengan alamat string

section .text

global _start

_start:

mov edx,11 ; panjang string dimasukkan register edx
mov ecx,pesan ; alamat memory yang menyimpan string dimasukkan ke dalam register ecx
mov ebx,1 ; 1 adalah stdout
mov eax,4 ;syscall 4 adalah sys_write()
int 0x80 ; interup untuk eksekusi

xor ebx, ebx ; memberi nilai 0 pada ebx setelah bernilai 1, nilai default adalah 0
mov eax,1 ; syscall exit
int 0x80

compiling, linking dan eksekusi

akfsec@Indonesia:~/program/asm32$ nasm -f elf helloworld.asm
akfsec@Indonesia:~/program/asm32$ ld -o helloworld helloworld.o
akfsec@Indonesia:~/program/asm32$ ./helloworld
Hello world

Follow

Get every new post delivered to your Inbox.