CONTOH CPP 4

CONTOH CPP 4 

 #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 ALT untuk mengubah mode...\n");
getch();

setMode(0x01); // Ubah mode video
printf("Mode 01 heksadesimal.\n"); // Informasi
printf("Tekan CTRL kembali ke mode normal...");
getch();

setMode(0x03); // Kembali ke mode normal
printf("Mode normal\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;
}









Pada contoh 03.cpp, 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.
Contoh 04.cpp:

Komentar