Gambar 25. Program Aplikasi INC
- Memahami penggunaan EMU 8086
- Mengetahui program mencetak 3 digit angka ke layar
angka dari 0 hingga 9 pada layar menggunakan instruksi assembler dan DOS interrupt.
- Emulate : untuk menjalankan emulator kode program yang kita buat
- Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com” atau “.exe”
dari kode program. - Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
- Single Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode program).
3. Dasar Teori [Kembali]
1. Operasi Pertambahan
Ada dua macam perintah pertambahan, yaitu :
a. Pertambahan dengan 1
program ditunjukkan pada gambar 25. Tata penulisan: INC [Register/Variabel]
b. Pertambahan selain Satu Dengan
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:
perintah tersebut sebagai berikut :
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).
- Emulate : untuk menjalankan emulator kode program yang kita buat
- Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com”
atau “.exe” dari kode program. - Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
- Single Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode program).
kode di atas adalah perintah untuk menyalin data yang ada di register BX
(source operand) ke register AX (destination operand).
memberitahukan apa yang harus dilakukan terhadap data, percabangan bersyarat,
perintah macro dan listing. Beberapa pseudo ops yang sering dijumpai adalah sebagai berikut :
disimpan, lalu “single step”, sehingga hasilnya akan terlihat seperti dibawah ini :
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
c. Jalankan Program sehingga tampil pada layar
5. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
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]
Tidak ada komentar:
Posting Komentar