Rabu, 29 Juni 2016

Pertemuan 24

A.    Membatasi Posisi Horizontal dan Vertikal Mouse

Letak koordinat pointer mouse dapat dibatasi sehingga posisi vertikal dan horizontal pointer mouse tidak bisa melewati area tertentu pada layar yang sudah dibatasi. Untuk membatasi posisi horizontal pointer mouse dapat digunakan interupsi 33 heksadesimal servis 7, sedangkan untuk membatasi posisi vertikal pointer mouse digunakan interupsi 33 heksadesimal servis 8. Berikut ini adalah prosedur untuk membatasi koordinat pointer mouse.
Membatasi posisi horizontal pointer mouse:
 Register AH harus bernilai 0.
 Register AL harus bernilai 7 heksadesimal.
 Register CX menentukan batas minimal posisi horizontal pointer mouse.
 Register DX menentukan batas maksimal posisi horizontal pointer mouse.

Pertemuan 13

A.    Memindahkan Koordinat Pointer Mouse  

Koordinat pointer mouse dapat dipindahkan tanpa harus menggerak-gerakkan mouse secara manual. Untuk memindahkan posisi koordinat pointer mouse dapat digunakan interupsi 33 heksadesimal servis 4. Berikut ini adalah prosedur yang harus dilakukan untuk memindahkan pointer menggunakan interupsi 33 heksadesimal servis 4.
 Register AH harus bernilai 0.
 Register AL harus bernilai 4 heksadesimal.
 Register CX menentukan posisi baris pointer mouse.
 Register DX menentukan posisi kolom pointer mouse.
 Lakukan interupsi 33 heksadesimal.

Pertemuan 12

A.    Mengetahui Koordinat Pointer Mouse

Seperti halnya kursor keyboard yang ditampilkan di layar monitor, pointer mouse pun menempati koordinat tertentu di layar. Untuk mengetahui letak atau posisi koordinat pointer mouse dilayar dapat digunakan interupsi 33 heksadesimal servis 3. Berikut ini adalah prosedur untuk mengetahui koordinat pointer mouse.
 Register AH harus bernilai 0.
 Register AL harus bernilai 3 heksadesimal.
 Lakukan interupsi 33 heksadesimal.
Setelah interupsi dilaksanakan:
 Register CX menunjukkan posisi horizontal pointer mouse (sumbu X).
 Register DX menunjukkan posisi vertikal pointer mouse (sumbu Y).
 Register BX menunjukkan tombol mouse yang ditekan. Jika nilai register BX sama dengan 1

Pertemuan 11

contoh20.cpp:
 #include <dos.h>
 #include <stdlib.h>
 #include "screen.cpp"

 #define MOUSE_INT 0x33

 UCHAR detectMouse(UCHAR *btn);
 void showMouse(void);
 void hideMouse(void);

 int main (void)
 {

Pertemuan 10

A.    Interupsi DOS untuk Mendeteksi, Mengaktifkan dan Menonaktifkan Mouse

Disk Operating System (DOS) baik pada mode real maupun mode terproteksi (DPMI) menyediakan sebuah software interrupt khusus untuk mengaktifkan dan menonaktifkan mouse (tetikus), yaitu interupsi 33 heksadesimal. Interupsi 33 heksadesimal menyediakan servis untuk mendeteksi mouse, menampilkan atau menyembunyikan posisi kursor, mengetahui posisi kursor mouse, mengetahui status penekanan tombol mouse, mengetahui jenis mouse, mengaktifkan dan menonaktifkan driver mouse, membatasi koordinat mouse dan lain-lain.

Pertemuan 9

A.    Konversi Nilai String Menjadi Numerik atau Sebaliknya

Semua nilai yang dimasukan melalui keyboard pada dasarnya adalah karakter atau rangkaian karakter (string). Nilai numerik yang dimasukan menggunakan fungsi standar scanf, cscanf, fscanf, gets dan cin pada dasarnya adalah nilai string yang telah mengalami proses konversi dari string menjadi bilangan bulat integer atau bilangan real (floating point dan double). Agar kita bisa menggunakan fungsi getString yang telah kita buat untuk memasukan data numerik, maka string yang dimasukan melalui fungsi getString harus dikonversi menjadi numerik. Begitu juga sebaliknya, untuk menampilkan data numerik menggunakan fungsi anggota writeString dari class Screen, maka data tersebut harus dikonversi menjadi representasi stringnya. Berikut ini adalah fungsi-fungsi konversi yang dapat kita gunakan.

Pertemuan 8

A.    Mengetahui Status Tombol On/Off

Pada keyboard ada tombol-tombol yang memiliki dua keadaan (on atau off) seperti Caps Lock, Num Lock, Scroll Lock, serta tombol yang memiliki status tekan (pressed/ditekan atau release/dilepas) seperti Alt, Ctrl, Ins, dan Shift. BIOS pada PC menyediakan interupsi 16 heksadesimal servis 2 untuk mengetahui status tombol-tombol tersebut. Berikut ini adalah prosedur untuk menjalankan interupsi 16 heksadesimal servis 2. 

 Register AH harus bernilai 2 heksadesimal.
 Jalankan interupsi 16 heksadesimal.