Instruksi-instruksi pada 8086 Perintah Pelayanan Interupsi Pada sebuah Mikroprosesor memiliki fasilitas-fasilitas interupsi, sebagai contoh pada 8086 memiliki beberapa macam interupsi. Pada 8086 memiliki 3 macam sumber datangnya interupsi. Sumber yang pertama datangnya signal luar yang datang ke pin input nonmaskable interupt (NMI) atau ke pin input interupt (INTR). Interupsi yang datang dari signal luar tersebut disebut juga interupsi hardware. Sumber yang kedua interupsi dieksekusi oleh adanya perintah interupt (INT). Interupsi ini disebut juga interupsi software. Sumber yang ketiga untuk interupsi terjadi karena beberapa kondisi error yang terjadi pada 8086 karena adanya eksekusi interupsi. Sebagai contoh adalah interupsi divide by zero. Jika dilaksanakan perintah pembagian dengan nol, otomatis dilaksanakan interupsi divide by zero. Pada setiap akhir cycle instruksi, Mikroprosesor akan mengecek apakah adanya interupsi yang sudah dipanggil. NEXT
Mikroprosesor akan merespon interupsi dengan tahap sebagai berikut : Akan mengurangi stack pointer dengan 2 dan mem-push flag register ke dalam stack. Akan menonaktifkan 8086 interupt INTR dengan membuat nol flag interupt (IF) pada register flag. Akan me-reset trap flag (TF) pada register flag. Akan mengurangi register pointer dengan 2 dan mem-push isi register code segment saat tersebut pada stack. Akan mengurangi stack pointer lagi dengan 2 dan mem-push isi pointer instruksi saat itu pada stack. Akan meloncat (indirect far jump) ke awal dari prosedur yang tertulis sebagai respon interupsi. Di bawah ini adalah contoh interupsi software : Mengambil data dari keyboard Digunakan INT 21H fungsi no.1 (AH=1) Contoh : MOV AH,01 INT 21H Maka DOS akan menunggu keyboard ditekan, lalu data tersebut disimpan pada reg AL (dalam kode ASCII). NEXT
Menampilkan data ke layar Digunakan INT 21H fungsi no.2 (AH=2) Kode ASCII dari reg DL akan tercetak di layar Contoh : MOV AH,02 INT 21H Kembali ke prompt DOS Digunakan INT 21H fungsi no.4CH (AH=4CH) Contoh : MOV AH,4CH Keluar dari program Digunakan INT 20H fungsi no.2 (AH=1) INT 20H Maka akan muncul tulisan PROGRAM TERMINATED NORMALLY NEXT
Mengambil data dari keyboard, tanpa echo, tanpa mengecek ctrl- break. Digunakan INT 21H fungsi no.7 (AH=07) Contoh : MOV AH,07H INT 21H Maka pada reg AL akan dihasilkan kode ASCII yang diinput dari keyboard. Tidak dapat dihentikan oleh ctrl-break dan tidak muncul di layar. Mengambil data dari keyboard, tanpa echo, mengecek ctrl-break. Digunakan INT 21H fungsi no.8 (AH=8) Contoh : MOV AH,08H Maka pada reg AL akan dihasilkan kode ASCII yang diinput dari keyboard. Dapat dihentikan oleh ctrl-break dan tidak muncul di layar. Berikut ini akan kita lihat instruksi-instruksi pada 8086. NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
NEXT
Bagan Alir (Flow Chart) Sebelum kita melakukan pemrograman pada Mikroprosesor, sebaiknya kita menganalisa secara rinci segala permasalahan yang kelihatannya akan timbul. Untuk program yang pendek dan sederhana dapat langsung menuliskan programnya. Namun untuk program yang panjang dan agak rumit, tentu tidak dapat dilakukan langsung. Suatu bagan alir akan memberikan pandangan menyeluruh bagi suatu proses pemecahan masalah mulai dari awal sampai akhir. Diagram alir bisa menunjukkan bahwa suatu titik tertentu pada suatu program itu memang harus diuji kembali dan harus diputuskan ulang. Simbol-simbol bagan alir dapat dilihat pada gambar berikut ini. NEXT
Sambungan (Connector) Diagram Alir START Terminal A = B + C Operasi A = D ? No Keputusan (Decion) Yes Input / Output Print A Gosub X Subroutine Sambungan (Connector) NEXT
Tahap pertama bagan alir adalah “START”, dia berada pada suatu simbol yang disebut “TERMINAL”. Simbol yang sama akan kita gunakan untuk kata “END”, yang berarti bahwa program tersebut telah selesai. Program “OPERASI”, berada pada simbol segiempat dengan teks didalamnya yang menjelaskan tentang operasi apa yang dilakukan. Sekalipun “OPERASI” dilakukan, maka kita perlu membuat suatu “DECISION” (keputusan) tentang hasil operasi itu. Keputusan ini selanjutnya akan dibuat bergantung kepada apakah kedua nilai itu sama atau tidak. Keputusan ini selanjutnya akan menjuruskan kita kearah simbol selanjutnya yaitu “INPUT/OUTPUT”. Pada tahap ini, informasi bagan alir dapat kita masukkan ataupun kita keluarkan dari komputer. Selain itu dapat juga dibuat suatu bagan alir untuk subrutin maupun untuk suatu pengoperasian yang berulang-ulang. NEXT
Soal : 1. Sebutkan 6 buah contoh interupsi software, dan jelaskan setiap bagian dari interupsi tersebut! 2. Pada Mikroprosesor 8086 terdapat 6 buah instruksi, buatlah 3 buah contoh dari instruksi tersebut! 3. Jelaskan dengan menggunakan diagram alir permasalahan yang ada dalam flow chart Mikroprosesor! NEXT
TUTUP Terima Kasih