Program Mencetak 3 Digit
1.Tujuan[kembali]
1. Memahami penggunaan EMU 8086
2. Mengetahui program mencetak 3 digit angka ke layar
2. Alat dan Bahan[kembali]
- Software EMU 8086
3. 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.
Untuk menjalankan Klik “compile” kemudian pilih lokasi di mana file executable akan disimpan, lalu “single step”, sehingga hasilnya akan terlihat seperti dibawah ini :
Dalam “emu8086” terdapat beberapa menu, antara lain:
- 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).
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 :
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
5. Download[kembali]
File Rangkaian Klik Disini
HTML File Klik Disini
DataSheet Dioda Klik disini
DataSheet Motor DC Klik disini
DataSheet Relay 12V Klik Disini
Tidak ada komentar:
Posting Komentar