A. Interupsi BIOS untuk
Operasi Layar pada Modus Teks
Untuk melakukan operasi-operasi pada layar seperti
memilih mode video, menampilkan karakter dan lain-lain, BIOS telah menyediakan
nomor interupsi khusus, yaitu interupsi 10 heksadesimal. Operasi-operasi yang
akan dilakukan sebelum menjalankan interupsi ini ditentukan oleh nilai yang
disimpan dalam register AH.
B. Memilih Mode
Video
Mode video adalah cara layar monitor menampilkan output,
apakah output yang ditampilkan dalam bentuk matriks-matriks teks atau dalam
bentuk picture element(pixel). Pada sub bab ini akan dibahas
cara menggunakan mode video teks. Mode teks sendiri memiliki beberapa mode lain
yang dapat dipilih, normalnya mode yang digunakan pada layar monitor masa kini
adalah mode teks 25 baris 80 kolom dan mampu menampilkan 16 warna yang berbeda.
Sebagai contoh, berikut ini adalah hanya sebagian program untuk memilih mode
video 07 heksadesimal (Monochrome, 25 baris, 80 kolom) kemudian mengembalikannya
menjadi mode video normal menggunakan fungsi int86. Simpan project berikut ini
dengan nama contoh03.ide dan nama file kode program contoh03.cpp.
Contoh 3 ;
#include
<conio.h>
#include
<dos.h>
#include
<stdio.h>
#include
<stdlib.h>
#define
VIDEO_INT 0x10 // Nomor interupsi 10h
#define
UCHAR unsigned char
void
setMode(UCHAR mode); // Deklarasi fungsi untuk
// mengubah
mode video
int
main(void)
{
printf("Tekan
ENTER untuk mengubah mode...\n");
getch();
setMode(0x01);
// Ubah mode video
printf("Mode
07 heksadesimal.\n"); // Informasi
printf("Tekan
ENTER kembali ke mode normal...");
getch();
setMode(0x03);
// Kembali ke mode normal
printf("Mode
normal\n");
getch();
return
EXIT_SUCCESS;
}
void
setMode(UCHAR mode)
{
union REGS
in, out; // Deklarasi variabel
in.h.ah =
0x00; // Register AH = 0
in.h.al =
mode; // Register AL = mode
int86(VIDEO_INT,
&in, &out); // Jalankan interupsi
return;
}



0 komentar:
Posting Komentar