Interface (Perangkat Lunak) - Program Int 21H Service 09H (Gambar 37)

[menuju akhir]

1.Tujuan [kembali]

  1. Memahami penggunaan EMU 8086
  2. Mengetahui program 21H Service 09H

2. Alat dan Bahan [kembali]

Software EMU 8086

    EMU8086 adalah sebuah perangkat lunak emulator untuk prosesor Intel 8086, yang merupakan salah satu prosesor pertama dari keluarga x86. Emulator ini digunakan untuk mempelajari dan menjalankan program yang ditulis dalam bahasa assembly untuk prosesor 8086. Dengan menggunakan EMU8086, pengguna dapat menulis, mengompilasi, dan menjalankan kode assembly di lingkungan yang mensimulasikan arsitektur 8086 tanpa memerlukan perangkat keras asli. 

3. Dasar Teori [kembali]

MENCETAK SEBUAH KALIMAT

Menggunakan fasilitas Int 21h dengan service 09h. Sebelumnya dipelajari dulu tentang variabel.

Ada 2 jenis variabel, yaitu :

a. Variabel yang Dapat Dimodifikasi Isinya Variabel yang memakan tempat pada memory, yaitu;

    1. DB (Define Byte), mendefinisikan variabel per byte.
    2. DW (Define Word), mendefinisikan variabel per word (2 byte).
    3. DD (Define Double Word), mendefinisikan variabel per 2 word. 

Tata penulisan: Label (DB/DW/DD) [Isi Variabel]

Contoh:

Satu db ‘ satu variabel$'

Dua db 12ABh

Tiga db 75h

b. Variabel yang Tidak Dapat Dimodifikasi Isinya Tidak memakan memori pada komputer, jenis variabel ini hanya dapat dipakai dalam Assambler menggunakan Compiler dengan memakai equ.

Contoh:

Satu equ 2470h

Dua equ 2442h

Syarat menggunakan Int 21 hexa service 09 hexa ini adalah :

    1. AH=09H
    2. DS= segment variabel tempat menampung kata yang akan dicetak
    3. DX= offset-nya dan
    4. kata-kata yang dicetak tersebut harus diakhiri dengan tanda Dollar '$'.

Contoh program menggunakan Int 21 hexa service 09 hexa ditunjukkan pada gambar 37.

Gambar 37

Hal yang perlu diperhatikan dalam membuat program seperti ini, adalah:

  1. Pointer program (IP) diharap jangan melewati daerah data karena bila melewati data akan terjadi kesalahan proses yang dapat menyebabkan terjadinya hanging.
  2. Untuk itu, arahkanlah kerja program menggunakan lompatan ke arah setelah data, dalam program label 'MULAI".
  3. Angka 13,10 pada akhir setiap baris data merupakan instruksi untuk ganti baris meletakkan kursor ke sebelah kolom 0 dari layar sesuai dengan fungsi kode ASCII masing-masing.

4. Percobaan [kembali]

;PROGRAM MENCETAK SEBUAH KALIMAT

JMP mulai ;Melakukan lompatan ke arah lokasi memory dengan label mulai

;Disini data dimulai

KATA db 'Kata yang dicetak',13,10              ;Variabel KATA digunakan untuk

                                                                       mencetak kata & 13,10 untuk

                                                                       pindah ke baris baru setelah

                                                                       string ini dicetak

         db 'dengan interupt 21h service 09h',13,10  

         db '$'                                                     ;Penanda akhir string

 

;Programnya        

mulai:

         MOV DX,OFFSET KATA                   ;Mengisi register DX dengan OFFSET

                                                                       DATA yaitu dengan variabel KATA

         MOV AH,09H                                      ;Mengisi AH dengan service 09H

         INT 21H                                               ;Mencetak string

         MOV AH,4CH                                     ;Mengisi AH dengan 4CH

    Program assembly yang ditunjukkan pada gambar berfungsi untuk menampilkan teks di layar menggunakan interrupt INT 21h dengan servis 09h. Program dimulai dengan lompatan ke label 'mulai', melewati bagian data yang mendeklarasikan string teks yang akan ditampilkan. Pada bagian data, string pertama 'Kata yang dicetak' diikuti oleh karakter ASCII '13, 10', yang merupakan kombinasi carriage return (CR) dan line feed (LF) untuk membuat baris baru, kemudian dilanjutkan dengan string kedua 'dengan Interrupt 21H service 09H' dan diakhiri dengan karakter $ sebagai penanda akhir string.

    Eksekusi program dimulai dari label 'mulai', di mana register 'DX' diisi dengan alamat memori dari string 'KATA'. Kemudian, register 'AH' diisi dengan nilai '09H', yang menandakan pemanggilan servis 09h untuk menampilkan string di layar. Ketika interrupt 'INT 21H' dipanggil, sistem operasi DOS akan mulai menampilkan karakter dari alamat yang ditunjukkan oleh 'DX', dan akan terus menampilkan karakter satu per satu hingga menemukan karakter $. Setelah string ditampilkan, program melanjutkan dengan mengisi register AH dengan nilai 4CH, yang merupakan kode untuk mengakhiri program. 

5. Download File [kembali]

- File HTML  klik disini
- Program INT 21H Service 09H  klik disini
- Video Penjelasan  klik disini

[menuju awal]

 

 

Komentar

Postingan populer dari blog ini

Modul 1 Gerbang Logika Dasar & Monostable Multivibrator

Mikroprosesor - Rangkaian DAC 0808 (Gambar 20)