Senin, 01 Mei 2017

Membuat Class untuk Operasi Layar pada Modus Teks

Setelah memahami cara menggunakan fungsi int86 atau teknik inline assembly untuk melakukan operasi pada layar monitor, maka kita dapat membuat sebuah class tersendiri untuk melakukan operasi pada layar monitor. Class yang akan kita buat akan mengenkapsulasi fungsi-fungsi setMode, getMode, writeChar, writeString, setCursorPos, getCursorPos dan getCharAttr. Namun, agar class yang dibuat dalam proses eksekusi program (runtime) bekerja lebih optimal maka semua fungsi anggota (method) yang pada pembahasan sebelumnya dibuat menggunakan fungsi standar int86, kali ini akan ditulis ulang menggunakan teknik inline assembly.

Dalam pembuatan class dapat dilakukan tanpa membuat project terlebih dahulu, jadi cukup dilakukan dengan memilih menu File kemudian pilih submenu New lalu pilih Text Edit dari IDE Borland C++ 5.02. Class yang akan dibuat bernama Screen dan simpan kode program berikut ini dengan nama screen.cpp.

Minggu, 30 April 2017

ASCII Extended Character Set

ASCII Extended Character Set (set karakter ASCII perluasan) adalah karakter ASCII dengan kode atau nomor urut 128 sampai dengan 255 desimal. Umumnya set karakter perluasan ini digunakan agar tampilan program yang berbasis teks menjadi lebih menarik karena dapat digunakan untuk menampilkan bingkai, tabel, simbol-simbol khusus dalam aksara Yunani (seperti alpha, beta, gamma dan seterusnya) dan simbol-simbol khusus matematika (seperti integral, akar kuadrat dan pangkat dua). Gambar-gambar berikut ini menampilkan nomor urut serta karakter ASCII reguler dan perluasan.


Sabtu, 29 April 2017

Membaca Karakter pada Posisi Kursor

Pada sub bab sebelumnya sudah dipelajari bagaimana cara menampilkan karakter dan string pada posisi kursor tertentu di layar. Pada sub bab ini akan dipelajari cara mengetahui nilai karakter dan warna karakter yang sudah tercetak dilayar. Seperti telah kita ketahui sebelumnya bahwa layar monitor pada mode teks normal terdiri dari suatu baris dan kolom. Dengan mengarahkan kursor pada baris dan kolom tertentu, dapat kita ketahui karakter/huruf yang tercetak dan warna dari karakter/huruf tersebut.

Nomor interupsi yang digunakan untuk mengetahui karakter dan warna karakter pada posisi tertentu adalah interupsi 10 heksadesimal servis 8 heksadesimal. Berikut ini adalah prosedur untuk menjalankan interupsi tersebut:
Register AH harus bernilai 8 heksadesimal.
Register BH berisi nomor halaman tampilan, halaman pertama nilainya 0.

Minggu, 23 April 2017

Menampilkan Karakter dan Memindahkan Posisi Kursor (Part. 2)

Setelah memahami cara menampilkan karakter dengan warna karakternya, tentu kita akan bertanya bagaimana cara menampilkan string (rangkaian karakter) dengan warna-warna karakternya. Untuk menjawab pertanyaan ini marilah pelajari kode program berikut ini. Simpan project berikut ini dengan nama file contoh07.ide dan kode programnya dengan nama file contoh07.cpp.


Sabtu, 22 April 2017

Menampilkan Karakter dan Memindahkan Posisi Kursor (Part. 1)

Program contoh01.cpp dan dan contoh02.cpp pada bab 1 merupakan contoh program untuk menampilkan karakter/huruf pada layar monitor. Pada sub bab ini akan dibahas cara menampilkan karakter menggunakan interupsi 10 heksadesimal servis 09 heksadesimal secara lebih mendalam. Untuk lebih jelasnya, berikut ini adalah prosedur untuk menjalankan interupsi 10 heksadesimal servis 09 heksadesimal:
Register AH berisi nilai 9 heksadesimal.
Register AL berisi kode ASCII dari huruf/karakter yang akan dicetak.
Register BH berisi halaman layar, halaman pertama nilainya 0.
Register BL berisi nilai warna huruf/karakter (warna asal adalah 7).
Register CH dan CL menentukan banyaknya karakter pada AL akan dicetak. Jika cuma 1 huruf, maka CH = 0 dan CL = 1.

Minggu, 16 April 2017

Memilih Mode Video (Part. 3)

Berikut ini adalah contoh programnya, simpan project berikut ini dengan nama file contoh05.ide dan kode program contoh05.cpp.


Sabtu, 15 April 2017

Memilih Mode Video (Part. 2)

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.


Minggu, 09 April 2017

Memilih Mode Video (Part. 1)

Mode video adalah cara layar monitor menampilkan output, apakah output yang ditampilkan dalam bentuk matriks-matriks teks atau dalam bentuk picture element (pixel). Pada sub bab ini akan dibahas cara menggunakan mode video teks. Mode teks sendiri memiliki beberapa mode lain yang dapat dipilih, normalnya mode yang digunakan pada layar monitor masa kini adalah mode teks 25 baris 80 kolom dan mampu menampilkan 16 warna yang berbeda. Tabel II.1 berikut menjelaskan beberapa mode video teks.



Sabtu, 08 April 2017

Memanggil Interupsi BIOS dan DOS Menggunakan Teknik Inline Assembly

Teknik inline assembly adalah teknik menuliskan kode-kode bahasa assembly diantara kode-kode bahasa pemrograman yang lain seperti Pascal dan C/C++. Tidak semua kompilator memiliki kemampuan mengkompilasi kode inline assembly, Borland C++ dan Turbo C/C++ memiliki kemampuan ini. Cara menggunakan teknik inline assembly pada Borland C++ 5.02 adalah dengan menggunakan kata cadangan asm dan diikuti oleh kode program bahasa assembly serta diakhiri dengan tanda semicolon/titik koma (;). Berikut sintaks penggunaan kata kunci asm:

1:  asm <opcode> <operand>; /* Komentar bahasa C/C++ */  


Minggu, 02 April 2017

Memanggil Interupsi BIOS atau DOS Menggunakan Fungsi int86

Borland C++ 5.02 menyediakan sebuah fungsi untuk menjalankan interupsi BIOS atau DOS, yaitu fungsi int86. Nama fungsi ini dideklarasikan di file header dos.h, berikut ini adalah sintaks dari fungsi int86:

1:  int int86(int nomor, union REGS *inregs,  
2:       union REGS *outregs)  

Keterangan:
- int nomor, nomor interupsi yang akan dijalankan.
- union REGS *inregs, representasi register pada mikroprosesor yang berisi nilai yang akandigunakan untuk menjalankan interupsi.
- union REGS *outregs, representasi register pada mikroprosesor setelah interupsi dijalankan.


Sabtu, 01 April 2017

Pembuatan Project dan Kode Program

Untuk bisa membuat program menggunakan fungsi int86(...) dan teknik inline assembly, maka kode program C++ yang akan dibuat harus merupakan bagian dari sebuah project file, tidak bisa hanya sebuah file kode sumber saja.

1. Klik menu File pada menu bar, kemudian pilih dan klik menu New dan pilih menu Project, maka akan muncul jendela New Target seperti pada gambar berikut ini


Jumat, 31 Maret 2017

Pengenalan Register dan Interupsi pada Mikroprosesor

Setiap komputer memiliki sebuah bagian penting yang disebut Central Processing Unit (CPU) atau yang lebih dikenal dengan mikroprosesor. Sebagaimana halnya Integrated Circuit lainnya, mikroprosesor terdiri dari beberapa bagian kecil yang disebut dengan register. Pada arsitektur Intel x86 yang diperkenalkan oleh Intel Corporation pada tahun 1985, setiap mikroprosesor Intel memiliki beberapa jenis register berikut ini:
  1. General Purpose Register
  2. Pointer dan Index Register
  3. Segment Register
  4. Flag Register