program meenampilkan sebuah karakter S dengan Program Assembly 8086
;program meenampilkan sebuah karakter S
dosseg
.model small
.stack 100h
.data
.code
main proc
mov dl, 'S'
mov ah,2
int 21h
mov ah, 4ch
int 21h
main endp
end main
Berikut adalah penjelasan rinci dari kode Assembly 8086 yang digunakan untuk menampilkan karakter 'S' ke layar menggunakan interupsi DOS.
Struktur Program Assembly 8086
Program Assembly 8086 umumnya terdiri dari beberapa bagian utama:
Direktif Segmentasi (
dosseg
,.model
,.stack
,.data
,.code
)Prosedur Utama (
main proc
danmain endp
)Instruksi Assembly (
mov
,int
)Pengakhiran Program (
end main
)
Penjelasan Per Baris Kode
1. Direktif Segmentasi
dosseg
dosseg
: Mengatur segmentasi memori sesuai konvensi DOS (Data, Code, Stack diurutkan secara otomatis).
.model small
.model small
: Mendefinisikan model memori yang digunakan.small
berarti program menggunakan 1 segmen data (64KB) dan 1 segmen kode (64KB).
.stack 100h
.stack 100h
: Mendefinisikan ukuran stack sebesar 256 byte (100h dalam heksadesimal).
.data
.data
: Bagian ini digunakan untuk mendeklarasikan variabel.Pada program ini, tidak ada variabel yang dideklarasikan.
.code
.code
: Menandai awal segmen kode (tempat instruksi program disimpan).
2. Prosedur Utama (main proc
)
main proc
main proc
: Mendefinisikan awal prosedur utama (main
).
3. Instruksi untuk Menampilkan Karakter
mov dl, 'S'
mov dl, 'S'
: Mengisi register DL dengan karakter 'S' (kode ASCII53h
).DL digunakan karena interupsi DOS
21h
dengan fungsi02h
mengharapkan karakter berada di DL.
mov ah, 2
mov ah, 2
: Mengisi register AH dengan nilai2
, yang merupakan fungsi DOS untuk menampilkan karakter.int 21h
akan memanggil fungsi ini.
int 21h
int 21h
: Memanggil interupsi DOS (Interrupt 21h) untuk menjalankan fungsi yang ditentukan di AH.Karena AH = 2, maka DOS akan menampilkan karakter dari DL ke layar.
4. Instruksi untuk Mengakhiri Program
mov ah, 4ch
mov ah, 4ch
: Mengisi AH dengan4Ch
, yang merupakan fungsi DOS untuk mengakhiri program.
int 21h
int 21h
: Memanggil interupsi DOS lagi, tetapi kali ini untuk keluar dari program dan mengembalikan kontrol ke sistem operasi.
5. Penutup Prosedur dan Program
main endp
main endp
: Menandai akhir dari prosedurmain
.
end main
end main
: Memberi tahu assembler bahwa program berakhir di labelmain
.
Ringkasan Alur Program
Program dimulai dengan mengatur segmentasi memori (
dosseg
,.model
,.stack
).Memasuki segmen kode (
.code
) dan prosedur utama (main proc
).Menyimpan karakter
'S'
ke DL.Memanggil fungsi DOS (
AH=2
) untuk mencetak karakter dari DL.Memanggil fungsi DOS (
AH=4Ch
) untuk mengakhiri program.Program berakhir (
end main
).
Hasil Eksekusi Program
Program akan menampilkan karakter 'S' di layar.
Setelah itu, program segera berakhir dan kembali ke sistem operasi.
Catatan Tambahan
Register yang Digunakan:
DL: Menyimpan karakter yang akan ditampilkan.
AH: Menentukan fungsi DOS yang dipanggil (
02h
untuk cetak karakter,4Ch
untuk exit).
Interupsi
21h
: Merupakan interupsi DOS untuk berbagai operasi I/O dan sistem.Jika ingin menampilkan string (bukan karakter tunggal), diperlukan fungsi
09h
dengan string diakhiri'$'
.
Komentar
Posting Komentar