Anda di halaman 1dari 5

NAMA : FITRAH TUl AQIDAH

NIM : 2022060068
PRODI : PENDIDKAN TEKNOLOGI INFORMASI
KELAS : B (III)

Interupsi atau bisa disebut Interrupt memiliki pengertian suatu


permintaan khusus kepada
mikroprosessor untuk melakukan sesuatu. Bila terjadi interupsi,
mikroprosesor akan
menghentikan dahulu apa yang sedang dikerjakannya dan
mengerjakan permintaan khusus
tersebut.

Jenis-jenis interrupt:
A. Software, interrupt jenis ini juga disebut System call. Misalnya,
suatu program ingin mencetak
hasil dengan printer
B. Hardware, terjadi karena adanya aksi pada perangkat keras, seperti
penekanan tombol
keyboard atau menggerakkan mouse. Interrupt ini terbagi lagi menjadi
dua,yaitu: Maskable Interrupt(terjadi karena aksi luar) dan Non
Maskable Interrupt(terjadi karena memori atau
kesalahan parity pada program)

Penyebab terjadinya Interrupt:


A. Program, terjadi akibat eksekusi suatu instruksi
B. Timmer, disebabkan oleh timmer prosessor
C. I/O, disebabkan oleh I/O controller baik sebagai tanda bahwa
operasi telah selesai maupun
memberi tanda eror.
D. Kegagalan hardware, disebabkan oleh kesalahan hardware seperti
power failure dan memori parity eror.
Ada dua aksi yang diberikan saat terjadi interrupt:
A. Syncronous I/O. I/O dijalankan, I/O selesai digunakan, kontrol
menginformasikan kembali ke
user proses. Untuk menunggu selesai digunakannya I/O, digunakan
perintah wait.
B. Asyncronous I/O. Kembali ke user program tanpa harus menunggu
I/O.

Vektor Interupsi
Vector interupsi merupakan 4 byte data yang disimpan pada 1024
byte pertama memori (000000h-0003FFFh) jika mikroprosesor
dijalankan dalam real mode. Setiap vector interupsi ini berisi alamat
procedure layanan interupsi, yaitu suatu procedure khusus yang
dipanggil oleh vector interupsi. Dua byte pertama dari vector tersebut
berisi alamat IP dan 2 byte terakhir berisi alamat CS dari procedure
layanan interupsi tersebut. Ada 256 vektor interupsi yang dimiliki
mikroprosesor intel. Intel menyediakan 32 vektor
interupsi untuk 8086-80486 dan kebutuhan-kebutuhan pengembangan
di masa mendatang,
sedangkan sisanya disediakan untuk dimanipulasi untuk digunakan
untuk keperluan pengguna.
Instruksi Interrupt pada PC (Personal Computer)
Instruksi interrupt pada PC(personal computer) berbeda dengan
interupsi pada table interupai diatas, sebab PC pada awalnya
dikembangkan berbasis (compatible dengan) system 8086-8088.
Jadi interupsi yang sama di setiap PC adalah interupsi no 0-4.

A. Interupsi yang Dapat Disamarkan


Prosesor dapat mencegah interupsi dengan menggunakan mask
bit khusus interupsi.Mask bit ini adalah bagian dari flag register
pada mikroprosesor 8086 yang dikenal sebagaiinterupsi flag
(IF), jika bit ini clear (IF=0), dan terjadi permintaan interupsi
pada pin InterruptPermintaan, maka permintaan tersebut akan
diabaikan.
B. Interupsi Non-Maskable (NMI)
Ada beberapa interupsi yang mana yang tidak dapat
disembunyikan atau diabaikan oleh prosesor,Hal ini terkait
dengan tugas-tugas prioritas tinggi yang tidak boleh diabaikan
(seperti yang terjadi pariti padamemori ataukegagalan
BUS). NMImemiliki aprioritas yang ablarutan, danketika
ituterjadi, prosesor menyelesaikan siklus memori saat ini, dan
kemudian mengirimkan ke rutinkhusus yang ditulis untuk
menangani permintaan interupsi.
C. Interupsi pada 8086
Adapun urutan dari proses interupsi pada mikroprosesor 8086
dapat dijelaskan sebagai berikut:
❖ Antarmuka eksternal mengirimkan suatu sinyal interupsi
ke pin Interrupt Request (INTR), atausuatu interupsi
internal terjadi.
❖ CPU menyelesaikan proses yang berlangsung dan
mengirim (untuk suatu perangkat kerasinterupsi) dan
mengirim Interrupt Acknowledge (INTA) ke antarmuka
perangkat keras.Hendra, MT. & Hartono, M.Kom. 19
Pemrograman Bahasa Rakitan
❖ Interrupt jenis N (masing-masing interupsi memiliki
nomor) dikirim ke Central ProcessingUnit (CPU) melalui
bus data dari antarmuka perangkat keras.
❖ Isi dari register flag didorong ke stack.

❖ Flag interupsi (IF) dan trap (TF) di clear, hal ini akan
mencegah pin INTR dan kemampuansatu langkah untuk
proses debugging (perangkap)
❖ Isi dari register CS didorong ke Stack

❖ Isi dari register IP didorong ke Stack


❖ Isi dari vektor interupsi diambil, dari (4 x N) dan
kemudian ditempatkan ke IP dan dari (4 x N+2) ke CS,
sehingga proses berikutnya yang akan dijalankan adalah
prosedurdan darilayanan interupsi berdasarkan alamat
pada vektor interupsi.

Interupsi Pemakaian
Seperti yang telah dijelaskan sebelumnya, salah satu
parameter layanan fungsiinterupsi adalah sub layanan yang
ditentukan oleh nilai register AH, selain nilai register AH,kita
juga perlu mengisi nilai-nilai register lainnya sesuai dengan
kebutuhan layanan interupsitersebut.Contoh:
INT 21,9 - Cetak String
HAH = 09DS:DX = menunjuk suatu alat striung yang
diakhiri dengan "$" tidak mengembalikan apa pun
- menampilkan string karakter ke STDOUT hingga "$"-
backspace diperlakukan sebagai non-destruktif- jika Ctrl-
Break terdeteksi, INT 23 dijalankanBerdasarkan data tersebut
diatas, maka untuk pemakaian interupsi $21, sub layanan
$9dengan fungsi “Print String”, maka perlu ditentukan nilai
register AH=$9, dan kemudian nilai register DS:DX
menunjuk ke alamat suatu string yang diakhiri dengan
'$'. Coba kita. review kembali program hello world
sebelumnya. Dimana kita menggunakan INT $21 sublayanan
AH=$9 untuk mencetak tulisan yang berada dioffset
DX=$102. Jadi dalam hal iniAH dan DX merupakan
parameter bagi INT $21.0B11:0100 jmp 112 0B11:
0102 db 'halo dunia!',0d,0a,'$'0B11: 0112 pindah
ah,90B11:0114 gerakan dx, 102 0B11:011 7 int210B11:0119
pindah ah,4c0B11:011B ke dalam 21Dalam hal ini kita tidak
menentukan nilai DS, karena secara default pada
program jenis COM, nilai DS, ES, dan SS sama dengan
CS.Pada contoh sebelumnya kita bekerja dengan rutin
interupsi yang tidakmengembalikan hasil, tetapi hanya proses
mencetak string ke layar, berikut ini kita akanmembahas rutin
interupsi yang mengembalikan hasil. INT 21,8 - Input
Konsol Tanpa Gema HAH = 08Hendra, MT. & Hartono,
M.Kom.

Anda mungkin juga menyukai