#include "screen.cpp"
#include "keyboard.cpp"
#define MOUSE_INT 0x33 /* Nomor interupsi mouse */
UCHAR detectMouse(UCHAR *btn);
int main(void)
{
Screen *layar = new Screen();
Keyboard *tombol = new Keyboard(layar);
UCHAR str[5];
UCHAR status, button;
/* Panggil fungsi deteksi mouse */
status = detectMouse(&button);
layar->setMode(0x03);
layar->setCursorPos(5, 14);
layar->writeString("Deteksi Mouse");
layar->setCursorPos(7, 14);
layar->writeString("Status:");
layar->setCursorPos(8, 14);
layar->writeString("Tombol:");
layar->setCursorPos(7, 22);
if (status)
layar->writeString("Siap digunakan");
else
layar->writeString("Tidak terinstal");
layar->setCursorPos(8, 22);
layar->writeChar(button | 0x30);
tombol->getString(str, 0);
delete layar;
delete tombol;
return EXIT_SUCCESS;
}
UCHAR detectMouse(UCHAR *btn)
{
UCHAR state, button;
asm mov ah, 0x00; /* Register AH = 0 */
asm mov al, 0x00; /* Register AL = 0, AH:AL = 0:0 */
asm int MOUSE_INT; /* Laksanakan interupsi 0x33 */
asm mov state, al; /* Salin nilai AL ke state */
asm mov button, bl; /* Salin nilai BL ke button */
*btn = button;
return state;
}
Gambarnya Sebagai Berikut :
Penjelasannya :
Fungsi detectMouse pada contoh18.cpp menerima sebuah parameter yang 55 dikirimkan secara referensi, yaitu btn. Setelah fungsi detectMouse dijalankan maka parameter btn berisi nilai yang menunjukan jumlah tombol mouse. Fungsi detectMouse akan mengembalikan nilai lebih dari 0 jika mouse dan drivernya terinstal dengan benar dan akan mengembalikan nilai 0 jika mouse atau drivernya tidak terinstal.
0 komentar:
Posting Komentar