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 masing-masing berdasarkan nomornya. Sedangkan alamat dari masing- masing interupt handler
tercatat di memori dalam bentuk array yang besar elemennya masing-masing 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.
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 0000h-007Fh.
- 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 07Fh-3FFh.

Nomor

Interrupt
Nama
Interrupt

Nomor

Interrupt
Nama
Interrupt
*00h
Divide By Zero
10h
Video Service
*01h
Single Step
11h
Equipment Check
*02h
Non MaskableInt(NMI)
12h
Memory Size
*03h
Break point
13h
Disk Service
04h
Arithmatic Overflow
14h
Communication (RS-232)
05h
Print Screen
15h
Cassette Service
06h
Reserved
16h
Keyboard Service
07h
Reserved
17h
Printer Service
08h
Clock Tick(Timer)
18h
ROM Basic
09h
Keyboard
19h
Bootstrap Loader
0Ah
I/O Channel Action
1Ah
BIOS time & date
0Bh
COM 1 (serial 1)
1Bh
Control Break
0Ch
COM 2 (serial 2)
1Ch
Timer Tick
0Dh
Fixed Disk
1Dh
Video Initialization
0Eh
Diskette
1Eh
Disk Parameters
0Fh
LPT 1 (Parallel 1)
1Fh
Graphics Char

Gambar 3.1. BIOS Interrupt


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
Nama
Interrupt
20h
Terminate Program
21h
DOS Function Services
22h
Terminate Code
23h
Ctrl-Break Code
24h
Critical Error Handler
25h
Absolute Disk Read
26h
Absolute Disk Write
27h
Terminate But Stay Resident

Gambar 3.2. DOS Interrupt


Didalam pemrograman dengan bahasa assembler kita akan banyak sekali menggunakan interupsi untuk menyelesaikan suatu tugas.
Previous
Next Post »