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.
#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("NURYADI.\n"); // Informasi
printf("Tekan ENTER kembali ke mode normal...");
getch();
setMode(0x03); // Kembali ke mode normal
printf("NURYADI \n");
getch();
return EXIT_SUCCESS;
}
void setMode(UCHAR mode)
{
union REGS in, out; // Deklarasi variabel
in.h.ah = 0x07; // Register AH = 7
in.h.al = mode; // Register AL = mode
int86(VIDEO_INT, &in, &out); // Jalankan interupsi
return;
}
0 komentar:
Posting Komentar