Contoh 4. Memilih Video Lanjutan

Pada contoh Sebelumnya, setiap terjadi pergantian mode video akan selalu menimbulkan
efek clear screen. Bagaimana cara menghilangkan efek clear screen ini? Jawabnya adalah
dengan menset bit ke-7 pada register AL menjadi 1. Berikut ini adalah contoh yang sama
seperti pada contoh03.cpp, namun bit ke-7 pada register AL akan diset menjadi 1 dan
menggunakan teknik inline assembly. Simpan project berikut dengan nama contoh04.ide dan
nama file kode program contoh04.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("Mode 01 heksadesimal.\n");  // Informasi
printf("Tekan ENTER kembali ke mode Biasa Saja...");
getch();

setMode(0x03);                                                       // Kembali ke mode Biasa Saja
printf("Mode Saja\n");

getch();

return EXIT_SUCCESS;
}

void setMode(UCHAR mode)
{
asm mov ah, 0x00;                         // Register AH = 0
asm mov al, mode;                        // Register AL = mode
asm or al, 0x80;                             // OR-kan dengan 80 heksadesimal
asm int VIDEO_INT;                   // Lakukan interupsi

return;
}





Comments

Popular posts from this blog

Contoh 6. Menampilkan Karakter dan Memindahkan Posisi Kursor

Contoh 8. Membaca Karakter pada Posisi Kursor

Contoh 2. Memanggil Interupsi BIOS dan DOS Menggunakan Teknik Inline Assembly