Disini saya akan menjelaskan atau
lebih tepatnya mempraktekkan langsung bagaimana membuat program sederhana
dengan menggunakan bahasa assembly di OS linux yaitu menggunakan nasm
nasm
merupakan compiler untuk
bahasa pemrograman assembly pada sistem operasi linux, dan perlu kita ketahui
kalau di sistem operasi windows digunakan tasm (turbo assembly). dan saya menganggap anda sudah mengerti dasar-dasar bahasa Assembly.
• Ok pertama-tama mari kita install nasm dengan menggunakan Terminal
• Setelah itu kita buat program sederhana menggunakan aplikasi
editor, kali ini saya menggunakan gedit, lalu ketik program berikut:
; section text khusus buat code
section .text
global _start
_start:
; systemcall => write(1,msg,len)
mov edx,len ; panjang string
dimasukkan dalam register EDX
mov ecx,msg ; alamat memori
yang menyimpan string dimasukkan dalam register ECX
mov ebx,1 ; file descriptor (1=stdout=defaultnya console) disimpan
dalam register EBX
mov eax,4 ; Nomor syscall 4 adalah fungsi sys_write()
int 0x80 ; panggil system call dengan interrupt 80 hexa.
; systemcall => exit(0)
xor ebx,ebx ; membuat EBX menjadi 0 sebagai return code ketika exit
mov eax,1 ; nomor syscall 1 adalah fungsi exit()
int 0x80 ; panggil system call dengan interrupt 80 hexa.
section .data ; section data khusus buat data/variable
msg db "Hello,
World!",0xa
; String
diikuti dengan 0xA yaitu new line \n.
len equ $
- msg
;
Panjang string didapat dengan mengurangi address di baris ini dengan alamat
string.
• Ketika sudah selesai mengetik program diatas, lalu simpan di
folder yang anda inginkan dengan file dengan format .asm (contoh
: hello.asm), dan kali ini saya akaan menyimpan di Documents.
• Kemudian lakukan compile program dari source *.asm ke *.o
sekalian output dari program diatas yaitu dengan cara:
Selamat, anda telah berhasil
membuat program program sederhana dengan output Hello World dalam bahasa
Assembly
Program bahasa Assembly Hello World