Gambar 25. Program Aplikasi INC




Gambar 25. Program Aplikasi INC

1. Tujuan
 [Kembali]

  1. Memahami penggunaan EMU 8086
  2. Mengetahui program mencetak 3 digit angka ke layar
Tujuan dari program assembler ini adalah untuk mempelajari cara menampilkan karakter 
angka dari 0 hingga 9 pada layar menggunakan instruksi assembler dan DOS interrupt. 
Program ini membantu memahami konsep penggunaan register, loop, dan interrupt 
dalam bahasa assembly, khususnya dalam menampilkan data ke layar.

2. Aalat dan Bahan [Kembali]

EMU 8086


    Untuk membantu dalam memahami atau penyesuaikan alur kerja program yang diinginkan maka 
dapat dilakukan dengan bantuan emulator emu86. Pada emulator ini ada menu emulate untuk 16 
menjalankan program dengan dua pilihan yaitu single step untuk eksekusi per baris instruksi atau 
Run untuk eksekusi keseluruhan instruksi sampai akhir program.
    Dalam “emu8086” terdapat beberapa menu, antara lain:
  1. Emulate : untuk menjalankan emulator kode program yang kita buat
  2. Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com” atau “.exe” 
    dari kode program.
  3. Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
  4. Single Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode program).

3. Dasar Teori [Kembali]

OPERASI ARITMATIK 
1. Operasi Pertambahan
Ada dua macam perintah pertambahan, yaitu :
    a. Pertambahan dengan 1 
    Dengan perintah seperti: A = A+ 1, yang bermaksud pertambahan dengan 1, contoh dalam
program ditunjukkan pada gambar 25. Tata penulisan: INC [Register/Variabel] 
    b. Pertambahan selain Satu Dengan 
    'ADD' dapat menambahkan berapa saja pada suatu register ataupun suatu variabel. 
Tata penulisan: ADD [operand1],[operand2] dimana isi operand1 adalah register atau variabel
dan operand2 berupa register, variabel atau bilangan. Hasil pertambahan disimpan di operand1 ,
seperti contoh berikut ini. 
    Contoh:     
    ADD AH,AL dengan isi AH adalah 12 dan AL adalah 3, maka komputer melaksanakan
perintah tersebut sebagai berikut : 
                                                    AH............... 12 
                                                    AL................ 3_ + 
                                                    AH............... 15 
Untuk perintah ADD kedua operand harus mempunyai besar kemampuan yang sama seperti
AH dan AL yang sama-sama 8 bit.

Emu8086 merupakan aplikasi emulator bagi pemrograman bahasa assembler atau
mikrokontroler. Dengan menggunakan aplikasi emulator, kita dapat mensimulasikan
apakah program kontrol hardware yang kita buat sudah benar atau masih salah.

Pada bahasa pemograman asembler terdapat beberapa perintah untuk aritmatik. Perintah
aritmatik yang dapat digunakan untuk pembagian adalah DIV(divide).

Dalam “emu8086” terdapat beberapa menu, antara lain:
  1. Emulate : untuk menjalankan emulator kode program yang kita buat
  2. Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com”
    atau “.exe” dari kode program.
  3. Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
  4. Single Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode program).
Memulai pemrograman bahasa Assembler terdiri dari beberapa kode operasi code
(op code) dan pseudo ops. Bentuk instruksinya adalah op code diikuti operand.
Opcode adalah perintah yang akan dilaksanakan, sedangkan operand dpaat terdiri dari
sumber (source) dan tujuan (destination).
Misal : MOV AX,BX
Opcode dari contoh di atas adalah MOV, sedangkan operandnya adalah AX, BX. Maksud
kode di atas adalah perintah untuk menyalin data yang ada di register BX
(source operand) ke register AX (destination operand).
Pseucode operation (pseudo ops) adalah perintah kepada assembler untuk
memberitahukan apa yang harus dilakukan terhadap data, percabangan bersyarat,
perintah macro dan listing. Beberapa pseudo ops yang sering dijumpai adalah sebagai berikut :



Untuk menjalankan Klik  “compile” kemudian pilih lokasi di mana file executable akan
disimpan, lalu “
single step”, sehingga hasilnya akan terlihat seperti dibawah ini :
Tabel ASCII

4. Prosedur Percobaan  [Kembali]

Listing Program : 
        MOV CX,0Ah
        MOV DL,39h
        ulangi:
        MOV AH,02h
        INT 21h
        DEC DL
        LOOP ulangi
        MOV AH ,4Ch
        INT 21
Penjelasan per baris program adalah: 
1. Perintah program untuk menampilkan angka 9 sampai 0 kelayar
monitor
2. MOV CX,0AH merupakan melakukan pengulangan sebanyak
0AH ( 10 kali) dimana register CX adalah 16 bit
3. MOV DL,39h merupakan melakukan mengisi register DL dengan
karakter ASCII dari angka 9
4. Ulangi merupakan label semacam lokasi dimana alamat yang akan
diulang dituju
5. MOV AH,02h merupakan mengisi nilai karakter AH dengan data
02H
6. INT 21h merupakan menjalankan interrupt 21 hexsa dengan
mencetak kode ASCII karakter di DL ke layar
7. DEC DL dengan DL – 1  merupakan, untuk DEC adalah tata
penulisan untuk pengurangan DL-1 adalah smbol untuk karakter
berikutnya. 39-1 = 38, dimana 38 dala kode ASCII adalah 8
8. Loop Ulangi merupakan pengulangan sampai angka 0 karena
CX=AH (10 kali)
9. MOV AH,4CH dan baris ke 10. INT 21h merupakan perintah
untuk menghentikan program

Gambar Percobaan


5. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Prinsip kerja :

Program tersebut dirancang untuk menampilkan angka dari 9 hingga 0 di layar menggunakan
bahasa assembly dengan interrupt INT 21h pada sistem operasi DOS. Prinsip kerjanya 
dimulai dengan inisialisasi register CX dengan nilai 0Ah (10 desimal) yang menandakan
jumlah pengulangan yang akan dilakukan. Register DL diisi dengan nilai 39h yang merupakan
kode ASCII untuk angka '9'. Program kemudian masuk ke loop di mana setiap iterasi
mencetak karakter yang tersimpan di DL ke layar dengan mengatur register AH ke 02h
(fungsi untuk mencetak karakter) dan memanggil interrupt 21h. Setelah karakter ditampilkan,
nilai DL dikurangi satu untuk mendapatkan karakter ASCII berikutnya, yaitu 8, 7, dan seterusnya
hingga mencapai 0.

Loop ini akan terus berulang hingga register CX mencapai nol, yang artinya semua angka
dari 9 hingga 0 telah ditampilkan. Setiap kali loop diulang, instruksi LOOP "ulangi" akan
mengurangi nilai CX secara otomatis dan melompat kembali ke label "ulangi" jika CX tidak
sama dengan nol. Setelah seluruh loop selesai dan semua angka ditampilkan, program akan
mengakhiri eksekusinya dengan mengatur register AH ke 4Ch dan memanggil interrupt 21h
lagi, yang merupakan perintah standar untuk mengakhiri program dan kembali ke DOS.


6. Video Simulasi [Kembali]

7. Download File [Kembali]

klik link download [listing]
klik link download [html]

Tidak ada komentar:

Posting Komentar

Popular Posts