Jumat, 04 Januari 2013

Program Sederhana Menggunakan Bahasa Assembly

Program dibawah ini berfungsi untuk menampilkan / mencetak 10 buah karakter dengan menggunakan int 21h servis 02.

Listing Programnya adalah sebagai berikut :

.MODEL SMALL
.CODE
ORG 100h

Proses:
MOV AH,02h
MOV DL, 'A'
MOV CX,0fh

Ulangi:
INT 21h
INC DL
LOOP Ulangi

INT 20h
END Proses

Analisa Program :




  1. Elemen-elemen Intruksi










  2. Format Intruksi



  3. Jenis-jenis Intruksi

    Mnemonic:
    MOV : digunakan untuk mencopy nilai atau angka menuju suatu register, varibel atau memory
    INT : digunakan untuk menghasilkan interupsi
    INC : digunakan khusus untuk pertambahan 1
    LOOP : digunakan untuk melakukan suatu proses yang berulang ulang
    END : digunakan untuk mengakhiri suatu program
  4. Alamat Yang Digunakan
    a. Register AH
    b. Register DL
    c. Register CX
  5. Penjelasan Program
    • .MODEL SMALL berfungsi sebagai pemberitahu kepada assembler atau penterjemah bentuk memori yang digunakan.
    • .CODE berfungsi sebagai pemberitahu kepada assembler bahwa kita akan mulai menggunakan code segment-nya disini.
    • ORG 100h berfungsi sebagai pemberitahu bahwa pada saat program dijalankan diletakkan mulai pada offset ke 100h.
    • MOV AH,02h adalah sebuah service dari interupsi 21h yang berfungsi untuk menampilkan karakter pada layar
    • MOV DL,'A' maksudnya adalah kita meletakkan karakter 'A' pada register DL
    • MOV CX,0ah maksudnya adalah untuk melakukan perulangan (looping) sebanyak 0ah (10 kali)
    • INT 21h berfungsi sebagai interupsi untuk menampilkan karakter ke layar
    • INC DL berfungsi sebagai karakter yang kita simpan pada register DL tadi akan ditambah 1, dan seterusnya ditambah 1 sampai batas perulangan (looping) yaitu 10 kali. Pada listing diatas karaktek yang pertama dicetak adalah 'A', dan kemudian dilanjutkan increment (INC) 1 lalu dicetak B, begitu seterusnya sampai berakhir dengan karkter 'J'.
    • LOOP berfungsi untuk mengulangi kembali ke blok ulangi lalu cetak lagi.
    • INT 20h Kembali ke DOS
    • END Proses berfungsi untuk mengakhiri program


Output program akan menampilkan karakter ABCDEFGHIJ