1. TUJUAN [kembali]
a. Agar mengetahui instruksi gerbang logika OR.
b. Agar dapat menjalankan logika OR pada emu 8086.
Software yang akan digunakan untuk mensimulasikan program adalah Software Emu 8086. Emu 8086 adalah salah satu aplikasi emulator pemograman dengan menggunakan bahasa assembler atau mikrokontroller. Kegunaan aplikasi ini kita dapat mensimulasikan apakah program kontrol hardware yang kita buat apakah sudah benar atau belum. Aplikasi ini dilengkapi dengan editor dan assembler yang bersifat GUI. Dengan emu 8086 internal register dapat diamati dari waktu ke eaktu akibat dari eksekusi suatu instruksi assembly.
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)
Operator logika OR akan menghasilkan nilai nol jika kedua operannya bernilai nol dan satu bila salah satu nya bernilai satu.
Perhatikan tabel berikut ini :
Bagaimana tata cara penulisan operasi logika menggunakan bahasa assembly???
Nah, pertama yang harus diketahui adalah OR/AND/XOR Operand1(Tujuan), Operan2 (Sumber.)
Berikut penjelasannya,
Operand1 adalah variabel, register ataupun isi lokasi memory.
Operand2 adalah register, variabel, isi lokasi memory ataupun suatu angka.
Nantinya hasil dari operator logika ini akan tersimpan pada Operand1 atau tujuan.
Oke, mari kita contohkan.
Suatu syntax memiliki instruksi :
MOV AL, 3Fh
MOV BL, 1Ah
OR AL, BL.
Mari kita bahas satu per satu.
Baris pertama berisikan syntax MOV AL, 3Fh. Perintah MOV digunakan untuk mengcopy nilai atau angka menuju suatu register, variabel atau memory. Dengan demikian maka kita memberikan nilai 3Fh kepada register AL. Sedangkan pada baris kedua kita memberikan nilai 1Ah kepada register BL.
Lalu pada baris ketiga akan menjalankan intruksi OR terhadap BL ke AL, yang hasilnya akan ditampung pada register AL. Karena bilangan yang dimasukkan kedalam register AL dan BL berupa bilangan Hexa, maka kita harus mengkonversikan nya ke dalam bilangan binnari.
3 F
0011 1111
1 A
0000 1010
------------------------------ OR
0011 1111
Maka nilai AL setelah dilakukan intruksi logika OR dari syntax diatas adalah 0011 1111.
· Tanda titik koma (;), merupakan baris untuk keterangan program atau komentar yang nantinya apapun tulisan yang ada setelah itu program akan mengabaikannya.
· Kode org 100h menentukan alamat offset dari program yang akan digunakan.
· MOV DL, 5Ah adalah mengisi register DL dengan karakter hexa 5A yaitu karakter Z
· MOV AH, 02h adalah mengisi register AH dengan sevice 2 yang artinya kita akan menyuruh program untuk mencetak sebuah karakter yang ada pada register DL. Angka 2 disini adalah hexadesimal sehingga bisa ditulis 02h untuk menerima intrupsi. e. INT 21h adalah menjalankan interupsi nomor 21. Intrerupsi ini akan mengerjakan sesuai dengan nilai servis yang dimasukkan. Karena ada MOV AH, 02h maka program akan mencetak karakter yang ada pada register DL.
· OR DL, 20h adalah instrupsi OR terhadap register DL ke 20h yang hasilnya akan ditampung pada register DL.
· MOV AH,4Ch dan INT 21h berfungsi untuk memberhentikan program dan mengembalikannya ke DOS.
Tidak ada komentar:
Posting Komentar