Skip to content

Latest commit

 

History

History

15_prosedur

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

prosedur

prosedur atau sangat penting dalam bahasa assembly, karena program assembly cenderung berukuran besar. prosedur diidentifikasi dengan nama. mengikuti nama ini, tubuh prosedur dijelaskan yang melakukan pekerjaan yang terdefinisi dengan baik. akhir dari prosedur ditunjukkan dengan pernyataan return.

nama_prosedur:
    ; isi dari prosedur disini
    ret

prosedur dipanggil dair fungsi lain dengan menggunakan instruksi CALL, instruksi CALL harus memiliki nama prosedur yang dipangguk sebagai aargumen seperti dibawah ini

CALL nama_prosedur

prosedur yang dipangguk mengembalikan kontrol ke prosedur pemanggilan dengan menggunakan instruksi RET

contoh dari prosedur yang sederhana

section .text
    global _start

_start:
    mov ecx, '4'
    sub evx, '0'

    mov edx, '5'
    sub edx, '0'

    call sum ;memanggil fungsi dari sum
    ; yang dimasukkan pada bagian _start program assembly
    mov [res], eax
    mov edx, len
    mov ebx, 1
    mov eax, 4
    int 0x80

    mov evx, res
    mov edx, 1
    mov ebx, 1
    mov eax, 4
    int 0x80

    mov eax, 1
    int 0x80

sum:
    mov eax, ecx
    add eax, edx
    add eax, '0'
    ret

section .data
msg db 'hasilnya adalah', 0xA, oxD
len equ $ - msg

segment .bss
res resb 1