Gambar 30. Program dengan DIV




Tugas 1

Teknik Interface 
Gambar 30.  Program dengan DIV (Perangkat Lunak) (emu86)


1. Tujuan [Kembali]
         
 1. Memahami penggunaan EMU 8086

 2. Mengetahui program dengan DIV

.
2. Alat dan Bahan [Kembali] 
     
Software EMU 8086

4. Dasar Teori [Kembali] 
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.
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 :


Contoh operasi penambahan dan pengurangan bahasa assembler menggunakan "Emu8086"


Untuk menjalankan Klik  “compile” kemudian pilih lokasi di mana file executable akan disimpan, lalu “single step”, atau bisa langsung "Run" sehingga hasilnya akan terlihat seperti dibawah ini :

Hasil program penambahan dan pengurangan

Penjelasan 

 MULAI:   MOV AX,469            ;Perintah untuk memasukkan nilai 469 ke register AX

                  XOR CX,CX           ; Perintah melakukan logika XOR register CX dengan register 
                                                   CX agar nilai dalam register CX dapat direset, CX=0

 ULANG1:  MOV BH,10           ; Perintah untuk memasukkan nilai 10 ke register BH

                     DIV BH                ; Perintah untuk membagi nilai pada register AX dengan nilai                                                                                       pada register BH

             PUSH   AX                     ; Perintah untuk memasukkan nilai register AX ke STACK

             INC CX                          ; Perintah untuk melakukan increment pada register CX atau                                                                                        menambahkan satu kepada register CX

             XOR AH,AH                  ; Perintah untuk melakukan logika XOR register AH dengan 
                                                    register AH agar nilai dalam register AH dapat direset, AH=0
    
             CMP AL,00                   ; Perintah untuk compile nilai register AL, apakah AL=0 atau tidak.

             JNE ULANG1               ; Perintah untuk lompat ke ULANG1 apabila nilai register 
                                                    tidak sama, apabila sama maka program dilanjutkan ke Ulang2

    Ulang2:  pop dx                      ; Perintah untuk mengeluarkan isi register dari STACK 
                                                    menjadi register dx

             mov dl,dh                       ; Perintah untuk memindahkan nilai dh ke dl atau memindahkan 
                                                    nilai sisa

             add dl,30h                      ; Perintah untuk menambahkan 30hexa ke dalam register dl

             mov ah,02                      ; Perintah untuk memindahkan nilai 02 ke dalam register ah

             int 21h                            ; Perintah untuk menampilkan isi register ke layar

             Loop   ulang2                 ; Perintah untuk melakukan looping ke ulang2

             MOV AH,4CH                 ; Perintah untuk memindahkan nilai 4Chexa ke register AH

             int 21h                            ; Akhir program
4. Percobaan [Kembali] 

    A. Prosedur [Kembali] 

  1. Buka aplikasi EMU 8086.
  2. Ketik Program pada software seperti gambar
  3. Jalankan Program sehingga tampil pada layar.
    B. Software dan Program [Kembali] 









Program

Listing Program

; Program pembagian satu pada gambar 30 dengan instruksi DIV

org 100h

mov cx, 9h         ; Menginisialisasi counter untuk loop
mov bh, 1h         ; Menginisialisasi bh dengan 1
ulangi:

; Mencetak karakter newline
mov ah, 02h        ; Mengatur layanan sistem untuk mencetak karakter
mov dl, 0d         ; Mengatur register dl dengan karakter carriage return (CR)
int 21h            ; Memanggil layanan sistem untuk mencetak karakter CR
mov dl, 0ah        ; Mengatur register dl dengan karakter line feed (LF)
int 21h            ; Memanggil layanan sistem untuk mencetak karakter LF


; Mencetak nilai bh
mov dl, bh
add dl, '0'       ; Konversi nilai ke karakter ASCII
mov ah, 02h
int 21h

; Mencetak karakter
mov dl, ':'
int 21h
mov dl, '1'
int 21h
mov dl, ' '
int 21h
mov dl, '='
int 21h
mov dl, ' '
int 21h

; Melakukan pembagian bh dengan 2
mov al, bh        ; Muat nilai bh ke al
mov ah, 00h       ; Kosongkan ah
mov bl, 1         ; Pembagi
div bl            ; Pembagian
add al, '0'       ; Konversi hasil bagi ke karakter ASCII
mov dl, al
mov ah, 02h
int 21h

; Mencetak newline
mov dl, 0dh       ; Carriage return
int 21h
mov dl, 0ah       ; Line feed
int 21h

inc bh             ; Menambah nilai bh
loop ulangi        ; Ulangi sampai cx mencapai 0

mov ah, 4ch        ; Mengakhiri program
int 21h



    E. Video Demo [Kembali] 





    F. Download File [Kembali]

  Program Simulasi  

Tidak ada komentar:

Posting Komentar