Pengenalan Register pada C++ lanjutan part II

Pada pemrograman C++, nilai-nilai pada Flag Register tidak diberikan secara manual oleh programmer, tetapi diatur oleh sistem operasi pada saat program C++ dijalankan. Register-register yang telah dibahas sebelumnya hanya menyimpan data dan jenis

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