Matakuliah Tahun Versi : T0483 / Bahasa Rakitan : 2005 : 1.0 Pertemuan 10 Interupsi 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • mendemonstrasikan program yang sudah menggunakan interrupt bios dan interrupt dos 2 Outline Materi • • • • Interrupsi Hardware Interrupsi Software Interrupt BIOS Interrupt DOS 3 <<ISI>> INTERUPSI • • Interupsi adalah penghentian secara sementara proses (clock tick) dari CPU untuk menjalankan fungsi interupsi sesuai dengan nomor interupsi-nya Jenis Interupsi – Hardware – Software – Internal 4 <<ISI>> Hardware – N M I (Non Maskable Interupt): Int 02h – I R Q (Interupt Request): Int 00h - Int 15h – Reset Software – BIOS (Basic Input Output System) – Interupsi yang sudah disediakan (ada sebelum dan sesudah operating system masuk): Int 00h - Int 1Fh – DOS (Disk Operating System) – Interupsi yang hanya ada bila operating system sudah di load ke memori): Int 20h - Int 0FFh Internal – Devide Error (Int 00h) – Overflow (Int 04h) – Single step (Int 01h) – Breakpoint (Int 03h) 5 <<ISI>> Tabel Interupsi – – • Terletak pada memori 0000:0000h sampai 0000:03FFh Setiap nomor interupsi diwakili oleh 4 byte pada memori INT – – Format: int <opr> Operand yang mengikuti instruksi INT merupakan suatu nilai konstan 8 bit (00h - 0FFh) 6 <<ISI>> Interrupt BIOS • INT 10h (Screen) • Service (ditempatkan pada register AH) • Jika Nilai AH : – – – – – – – • 00 : Menentukan mode tampilan screen 01 : Menentukan ukuran kursor 03 : Menentukan posisi kursor 05 : Menentuklan halaman (page) aktif 06 : Membuat layar bergulir ke atas 07 : Membuat layar bergulir ke bawah 0E : Mencetak sebuah karakter ke screen INT 16h (Keyboard) – 00 : Membaca tekanan keyboard – 01 : Membaca status tekanan keyboard – 02 : Membaca status keyboard alt-control-shift • INT 17h (Printer) – 00 : Mencetak sebuah karakter ke printer – 01 : Reset printer – 02 : Mendapatkan status printer 7 <<ISI>> • INT 10h – Menentukan mode layar – Fungsi / Service : AH = 00h – Input : AL = mode number (lihat tabel) 8 <<ISI>> INT 10H (Menentukan ukuran kursor) – Fungsi / Service : AH = 01h – Input : – CH = Awal garis (0-7) – CL = Akhir garis (0-7) INT 10H (Menentukan posisi kursor (x,y)) – Fungsi / Service : AH = 02h – Input : – – – BH = Nomor halaman DH = Nomor baris DL = Nomor kolom 9 <<ISI>> INT 10H (Mendapatkan informasi kursor) – – – Fungsi / Service : AH = 03h Input : BH = Nomor halaman Output : • • • • CH = Awal garis CL = Akhir garis DH = Nomor baris DL = Nomor kolom INT 10H (Menentukan halaman aktif) – – – Default Halaman / Page = 0 Fungsi / Service : AH = 05h Input : AL = Nomor halaman (lihat tabel) 10 <<ISI>> Membuat tampilan layar bergulir ke • Fungsi : • • • AH = 06h (bergulir ke atas) AH = 07h (bergulir ke bawah) Input : • • • • • • AL = Jumlah baris (0 : semua) BH = Warna pengisi CH = Baris atas (y1) CL = Kolom kiri (x1) DH = Baris bawah (y2) DL = Kolom kanan (x2) 11 <<ISI>> INT 10H (Menampilkan sebuah karakter ke layar) • Fungsi : AH = 09h Input : – – – – AL = Karakter ASCII (0 - 255) BL = Warna (LB/LD) BH = Nomor halaman CX = Berapa kali ditampilkan – Ket : – Pada saat karakter ditampilkan, kursor tidak akan berpindah tempat 12 <<ISI>> INT 10H (Menampilkan sebuah karakter ke layar) • Fungsi : – • Input : – – • AH = 0Eh AL = Karakter ASCII (0 -255) BH = Nomor halaman Ket : – Pada saat karakter ditampilkan, kursor akan berpindah ke sebelah kanan karakter yang ditampilkan 13 <<ISI>> INT 16h • Membaca tekanan tombol – – Fungsi / Service : AH = 00h Output : » » • AH = Scan code AL = ASCII code (0 = tombol khusus) Ket : – • Fungsi 00h akan menyebabkan komputer berhenti sementara untuk meminta penekanan tombol dari keyboard Memeriksa apakah ada penekanan tombol – – Fungsi / Service : AH = 01h Output : » ZF = 0 (ada tombol ditekan), 1 (tidak ada) 14 <<ISI>> • INT 16H (Status tombol Shift, Alt, Ctrl, Caps Lock,Num Lock, Scroll Lock, Insert) • • Fungsi : AH = 02h Output : AL = Status (lihat tabel) 15 <<ISI>> • Mempercepat laju pengetikan – Fungsi : • AH = 03h – Input : • AL = 05h • BH = Nilai delay/penundaan (0 - 4) • BL = Tingkat typematic (0 - 1Fh) – Ket : • Tingkat typematic default adalah 10 char/detik • Nilai penundaan default adalah 500ms 16 <<ISI>> • INT 17h – Mencetak karakter ke printer – Fungsi : • AH = 00h – Input : • AL = Karakter ASCII (01 - 255) • DX = Nomor paralel (LPT1 = 0, LPT2 = 1, dst) – Output : • AH = Status (Lihat tabel) 17 <<ISI>> • Reset printer – Fungsi : • AH = 01h – Input : • • • DX = Nomor paralel Output : AH = Status (lihat tabel) • Mendapatkan status printer Fungsi : AH = 02h Input : DX = Nomor paralel Output : AH = Status (lihat tabel 18 << CLOSING>> • Int BIOS sudah ada sebelum sistem operasi di load ke memori • Int DOS akan baru ada setelah sistem operasi di load ke memori 19
© Copyright 2024 Paperzz