Anda di halaman 1dari 3

Bahasa Rakitan

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.

Bahasa Rakitan

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

Bahasa Rakitan

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.

Anda mungkin juga menyukai