Interupsi 16 heksadesimal servis 0 heksadesimal adalah nomor interupsi yang dapat digunakan untuk melakukan input satu karakter melalui keyboard. Fungsi standar getch, getchar, dan getche memanfaatkan interupsi ini. Berikut ini adalah prosedur yang harus dilakukan untuk melakukan interupsi 16 heksadesimal servis 0 heksadesimal:
Register AH harus bernilai 0. Jalankan interupsi 16 heksadesimal.
setelah Interupsi dijalankan maka:
Register AH akan berisi dengan kode scan papan ketik.
Register AL berisi kode ASCII dari karakter yang diketikan atau bernilai 0 jika tombol
keyboard yang ditekan adalah tombol extended.
Tombol extended atau tombol khusus adalah tombol yang disediakan untuk maksudmaksud tertentu dari sebuah program. Contoh tombol-tombol khusus adalah tombol CTRL, ALT, SHIFT, INS, F1, F2 dan sebagainya. Untuk mengetahui tombol khusus apa yang ditekan ketika register AL bernilai nol, dapat diketahui dari nilai yang disimpan pada register AH. Nilai pada register AH adalah keyboard scan code yang memberitahukan tombol khusus apa yang ditekan.
Berikut ini adalah contoh program yang menunjukan cara melakukan input satu karakter menggunakan interupsi 16 heksadesimal servis 0 yang ditulis dengan teknik inline assembly dan memanfaatkan pustaka class screen.cpp yang telah dibuat pada bab sebelumnya. Buatlah sebuah project seperti yang dilakukan pada bab-bab sebelumnya, simpan project tersebut dengan nama file contoh11.ide dengan file kode program contoh11.cpp pada direktori yang sama dengan file screen.cpp
Pada kode program contoh11.cpp fungsi getKey adalah fungsi yang digunakan untukinput satu karakter. Fungsi getKey tidak memerlukan parameter dan mengembalikan nilai bertipe unsigned character (didefinisikan dalam file screen.cpp sebagi UCHAR). Nilai yang dikembalikan oleh fungsi ini adalah karakter yang diketikan pada tombol keyboard. Fungsi ini sama dengan fungsi standar getch.
Setelah mempelajari cara memasukan satu karakter, maka langkah berikutnya adalah mempelajari cara mendeteksi penekanan tombol-tombol extended. Project contoh12.ide berikut ini memberikan contoh cara mendeteksi penekanan tombol F1, F2, F3, dan F4. Simpan kode program contoh12.cpp berikut ini pada direktori yang sama dengan file
screen.cpp
Title :
Pertemuan VIII : Memasukan Satu Karakter dan Mendeteksi Penekanan Tombol Extended
Description : Interupsi 16 heksadesimal servis 0 heksadesimal adalah nomor interupsi yang dapat digunakan untuk melakukan input satu karakter melalui key...
Rating :
5