Pada pemrograman C++, nilai-nilai pada Flag Register tidak diberikan secara manual
instruksi yang akan dijalankan oleh mikroprosesor. Lalu pertanyaannya adalah bagaimana memerintahkan mikroprosesor melaksanakan instruksi tertentu. Jawabnya adalah dengan melakukan interupsi (interrupt). Interupsi adalah permintaan kepada mikroprosesor untuk melakukan tugas tertentu, ketika terjadi interupsi maka mikroprosesor menghentikan dahulu instruksi yang sedang dikerjakan dan menjalankan tugas yang diminta sesuai dengan interupsi yang diberikan.
Terdapat dua jenis interupsi, yaitu interupsi BIOS dan interupsi DOS. Interupsi BIOS
(Basic Input Output System) ditanam pada chip ROM BIOS oleh pabrik komputer sedangkan interupsi DOS (Disk Operating System) hanya dapat digunakan jika komputer menjalankan sistem operasi DOS atau Microsoft Windows. Berikut ini adalah tabel yang menjelaskan daftar interupsi BIOS dan DOS.
Tabel I.1. Daftar Interupsi BIOS
| Nomor Interupsi | Nama Interupsi | Nomor Interupsi | Nama Interupsi |
| 00h | Divide By Zero | 10h | Video Service |
| 01h | Single Step | 11h | Equipment Check |
| 02h | Non-Maskable Interrupt (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 and 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 Character |
Tabel I.2. Daftar Interupsi DOS
| Nomor Interupsi | Nama Interupsi |
| 20h | Terminate Program |
| 21h | DOS Function Services |
| 22h | Terminate Code |
| 23h | Ctrl-Break Code |
| 24h | Cirtical Error Handler |
| 25h | Absolute Disk Read |
| 26h | Absolute Disk Write |
| 27h | Terminate But Stay Resident |
Pada kedua tabel diatas, setelah nomor interupsi selalu diakhiri oleh huruf h.
Maksud dari huruf tersebut adalah nomor-nomor interupsi yang digunakan diberikan dalam bentuk bilangan heksadesimal. Pada saat membuat program yang sesungguhnya menggunakan Borland C++ 5.02 programmer dapat mengetikan nomor interupsi dalam bentuk bilangan desimal (basis 10), oktal (basis 8) atau heksadesimal (basis 16). Penulisan ketiga bentuk bilangan tersebut mengikuti aturan yang ditetapkan oleh grammar bahasa C++, yaitu dituliskan sebagaimana biasanya jika menggunakan bilangan desimal (misalnya: 10, 45, dan 150), diawali dengan karakter “0” jika menggunakan bilangan oktal (misalnya: 012, 055, dan 0226) dan diawali dengan karakter “0x” jika menggunakan bilangan heksadesimal (misalnya 0x0a, 0x2d, dan 0x96).
Contoh kode program silahkan download disini LINK
untuk membuka archiving gunakan password "doctocom" kemudian ekstract klik di kode-program.ide





0 comments: