Selasa, 27 Agustus 2024

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