Bahasa Rakitan By Okti Yudhanti Nur K
INTERRUPT 3.1. PENGERTIAN INTERRUPT Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan
sesuatu.
Bila
terjadi
interupsi,
maka
komputer
akan
menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi. Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255. Nomor interupsi 0 sampai 1Fh disediakan oleh ROM BIOS, yaitu suatu IC didalam komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor 0-1Fh, maka secara default komputer akan beralih menuju ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler. 3.2. VEKTOR INTERUPSI Setiap interrupt akan mengeksekusi interrupt handlernya masingmasing berdasarkan nomornya. Sedangkan alamat dari masing- masing interupt handler tercatat di memori dalam bentuk array yang besar elemennya masingmasing 4 byte. Keempat byte ini dibagi lagi yaitu 2 byte pertama berisi kode offset
sedangkan 2 byte berikutnya berisi kode segmen dari
alamat interupt handler yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen masing-masing 4 byte. Total keseluruhan memori yang dipakai adalah sebesar 1024 byte (256 x 4 = 1024) atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array sebesar 1 KB ini disebut Interupt Vector Table (Table Vektor Interupsi). Nilai-nilai yang terkandung pada Interupt Vector Table ini tidak akan sama di satu komputer dengan yang lainnya.
1
Bahasa Rakitan By Okti Yudhanti Nur K
Interupt yang berjumlah 256 buah ini dibagi lagi ke dalam 2 macam yaitu: - Interupt 00h - 1Fh (0 - 31) adalah interrupt BIOS dan standar di semua komputer baik yang menggunakan sistem operasi DOS atau bukan. Lokasi Interupt Vector Table-nya ada di alamat absolut 0000h007Fh. - Interupt 20h - FFh (32 - 255) adalah interrupt DOS. Interrupt ini hanya ada pada komputer yang menggunakan sistem operasi DOS dan Interupt Handler-nya diload ke memori oleh DOS pada saat DOS digunakan. Lokasi Interupt Vector Tablenya ada di alamat absolut 07Fh3FFh. Nomor Interrupt *00h *01h *02h *03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh
Nama Interrupt Divide By Zero Single Step Non MaskableInt(NMI) Break point Arithmatic Overflow Print Screen Reserved Reserved Clock Tick(Timer) Keyboard I/O Channel Action COM 1 (serial 1) COM 2 (serial 2) Fixed Disk Diskette LPT 1 (Parallel 1)
Nomor Interrupt 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh
Nama Interrupt Video Service Equipment Check Memory Size Disk Service Communication (RS-232) Cassette Service Keyboard Service Printer Service ROM Basic Bootstrap Loader BIOS time & date Control Break Timer Tick Video Initialization Disk Parameters Graphics Char
Gambar 3.1. BIOS Interrupt
2
Bahasa Rakitan By Okti Yudhanti Nur K
Interrupt
ini
telah
dipastikan
kegunaannya
oleh
sistem
untuk
keperluan yang khusus , tidak boleh dirubah oleh pemrogram seperti yang lainnya.
DEVIDE BY ZERO : Jika terjadi pembagian dengan nol maka proses akan segera dihentikan.
SINGLE STEP : Untuk melaksanakan / mengeksekusi intruksi satu persatu.
NMI : Pelayanan terhadap NMI (Non Maskable Interrupt) yaitu interupsi yang tak dapat dicegah.
BREAK POINT : Jika suatu program menyebabkan overflow flag menjadi 1 maka interrupt ini akan melayani pencegahannya dan memberi tanda error.
Nomor Interrupt 20h 21h 22h 23h 24h 25h 26h 27h
Nama Interrupt Terminate Program DOS Function Services Terminate Code Ctrl-Break Code Critical Error Handler Absolute Disk Read Absolute Disk Write Terminate But Stay Resident
Gambar 3.2. DOS Interrupt
Didalam pemrograman dengan bahasa assembler kita akan banyak sekali menggunakan interupsi untuk menyelesaikan suatu tugas.
3
Bahasa Rakitan By Okti Yudhanti Nur K
Kejadian-kejadian sinkron yang merupakan tanggapan pemroses terhadap kondisi-kondisi tertentu yang memerlukan perhatian. Sebuah setting hardware yang menjalankan perintah-perintah dalam sistem komputer. Interrupt secara harfiah dalam bahasa Indonesianya diartikan sebagai selaan, menyela, atau menjegal, atau istilah kerennya disebut dengan interupsi.Interrupt bisa diibaratkan dalam kehidupan sehari-hari sebagai suatu proses berjalan, namun belum selesai proses tersebut melakukan tugasnya, sudah dilaksanakan lagi proses lainnya.Ibaratnya begini, ketika anda sedang melakukan suatu pekerjaan, katakanlah membaca sebuah buku, belum selesai buku tersebut anda tamatkan, lalu telepon anda berbunyi, sehingga anda melakukan percakapan terlebih dahulu melalui telepon tersebut. Setelah pembicaraan selesai, anda melanjutkan membaca buku tadi. menerima telepon di dalam kejadian tersebut disebut dengan menyela.Begitu juga dengan proses yang terjadi pada komputer. Apabila sebuah komputer melakukan prosesnya tanda ada gangguan, tentu komputer tersebut dapat menyelesaikan pekerjaannya dengan serius khusus untuk satu pekerjaan yang sedang dikerjakannya. Dalam kondisi demikian, komputer anda melakukan tugasnya yang disebut dengan primitive batch processing. Pekerjaan seperti ini digunakan oleh komputer pada komputer zaman awal-awal ditemukannya. Dimana komputer tidak bisa mengerjakan beberapa program sekaligus dalam waktu bersamaan, sampai satu pekerjaan selesai dikerjakan, maka baru dia bisa berpindah ke pekerjaan lainnya.Komputer terkini, memiliki 4
Bahasa Rakitan By Okti Yudhanti Nur K
kemampuan interrupt ini. Penulis melakukan pengetikkan naskah ini sambil mendengarkan musik yang terpasang pada notebook yang digunakan, tidak jarang komputer ini juga sambil terhubung dengan internet untuk membuka halaman web atau mengambil beberapa data yang ada di internet.Anda tentu juga tidak jarang mengalami hal dengan interrupt ini, katakanlah, ketika mengetikkan SMS ternyata ada telpon yang masuk, anda terima dulu telpon tersebut, lalu setelahnya anda lanjutkan pengetikan SMS tadi.Untuk memungkinkan terjadinya interrupt ini pada sistem komputer, CPU memiliki suatu jalur khusus terhadap suatu chip pengatur interrupt eksternal (bagian dari chipset), yang berisi database sederhana yang dikenal dengan interrupt vectors.Ketika sebuah interrupt terjadi pada chip, maka CPU menyimpan informasi terakhir yang dia kerjakan, berulah dia mengerjakan sesuai dengan informasi yang ada pada interrupt vector tesebut. Interrupt vector ini sebenarnya hanya sebuah nama pemanis yang berisi informasi tentang selaan yang terjadi, kalau dibelah lebih dalam lagi, isinya adalah berupa tabel yang berisi angka-angka). Pada interrupt vector inilah ditemukan kemana dan apa proses berikutnya yang harus dilaksanakan oleh komputer. Ketika pekerjaan interrupt tadi selesai dilaksanakan, maka komputer melakukan pelacakan kembali apa pekerjaan sebelumnya yang sedang dilaksanakannya.Prioritas dalam interruptDalam penerimaan suatu interrupt ini, komputer membagi interrupt tersebut dalam berbagai level, tergantung dari CPU yang digunakan. Misalnya pada komputer yang digunakan untuk pekerjaan yang cukup membutuhkan konsentrasi dari CPU, maka CPU 5
Bahasa Rakitan By Okti Yudhanti Nur K
tersebut memungkinkan untuk mengabaikan interrupt yang prioritasnya rendah, katakanlah pengetikkan yang dilakukan oleh seorang user melalui keyboard, namun komputer tersebut akan memberikan respon yang sangat cepat apabila terjadi gangguan pada memori yang digunakannya. Diposkan oleh jerknious di 00:23 0 komentar: Poskan Komentar
Halaman Muka Langgan: Poskan Komentar (Atom) Pengikut Arsip Blog ▼ 2008 (1) ▼ Desember (1) INTERRUPT Mengenai Saya jerknious I'm just a lunatic morron sk8r boy.. My life just sk8, punx, and drunx and sometimes i don't know what to
6