Pencarian Cepat

Minggu, April 03, 2011

INTERRUPT

 

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.

2. Vektor Interrupt

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:

a. 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.

b. 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.

a. DEVIDE BY ZERO : Jika terjadi pembagian dengan nol maka proses akan segera dihentikan.

  1. SINGLE STEP : Untuk melaksanakan / mengeksekusi intruksi satu persatu.
  2. NMI : Pelayanan terhadap NMI (Non Maskable Interrupt) yaitu interupsi yang tak dapat dicegah.
  3. 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.

0 komentar:

Posting Komentar

Silahkan Tinggalkan Komentar Anda

Selamat Datang Sahabat Blogger di Blog Saiya \^_^/..., Follow Ya Nanti Saiya Follow Balik ,,,,,,,