- Memahami penggunaan EMU 8086
- Mengetahui program mencetak 3 digit angka ke layar
2. Alat dan Bahan [back]
- Software EMU 8086
3. Dasar Teori [back]
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.
4.Penjelasan [back]
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 :
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
4.Penjelasan [back]
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. Percobaan [back]
a. Buka aplikasi EMU 8086
b. Ketik Program pada software seperti gambar
c. Jalankan Program sehingga tampil pada layar
Simulasi - Download
List Program - Download
Video - Download
8. Contoh Soal [back]
1. Untuk menambahkan nilai register dengan angka hexa tertentu pada bahasa assembly menggunakan perintah...
a. PUSH
b. MOV
c. ADD
d. LOOP
e. DIV
Jawaban : c.ADD
Pembahasan :
Fungsi perintah berikut.
PUSH ; Memasukkan nilai register ke dalam STACK
MOV : Memindahkan nilai ke dalam register
ADD : Menambahkan nilai ke dalam register
LOOP : Mengulangi perintah
DIV : Melakukan operasi pembagian
2. Untuk mengeluarkan nilai di dalam stack kemudian dimasukkan pada register tertentu merupakan fungsi dari perintah ...
a. CMP
b. INT
c. INC
d. PUSH
e. POP
Jawaban : e.POP
Pembahasan:
Fungsi perintah berikut.
CMP : Melakukan proses compile untuk nilai register/ membandingkan nilai register
INT : Untuk menampilkan isi register ke layar
INC : Untuk menambahkan satu digit ke dalam nilai register
PUSH : Memasukkan nilai register ke dalam STACK
POP : Mengeluarkan nilai dari STACK untuk dimasukkan ke register tertentu
👍
ReplyDeletethankyuuu
Delete