Contoh 1. 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 menuProject, maka akan muncul jendela New Target
2. Klik tombol Browse untuk menentukan nama file dan lokasi penyimpanan project.
3. Ketikan nama project pada textbox File name dan klik tombol Open. Textbox Project Path and Name pada jendela New Target akan berisi nama direktori dimana project disimpan dan Target Name akan berisi nama project.
4. Pada listbox Target Type pilihlah Application (.exe).
5. Pada combo box Platform pilihlah DOS (Standard).
6. Pada combo box Target Model pilihlah Small.
7. Berilah tanda cek pada check box Class Library.
8.Pada radio button Math Support pilihlah sesuai dengan kondisi.
9. Kosongkan semua check box pada pilihan Libraries.
10.Klik tombol OK untuk mulai membuat program. Borland C++ 5.02 akan menampilkan Project Window.
11. Pada Project Window terdapat node nama project (berakhiran .exe) dan node kode program (berakhiran .cpp) dibawah node nama project. Klik kanan pada node kode.
12. Borland C++ 5.02 akan memunculkan Edit Window seperti diperlihatkan pada gambar I.5. Pada Edit Window inilah kode program mulai diketikan.
13. Untuk menutup project dapat dilakukan dengan memilih menu Project dari menu bar kemudian pilih submenu Close Project.
14. Untuk membuka kembali file project yang sudah ada dapat dilakukan dengan memilih menu Project dari menu bar dan memilih menu Open Project, maka akan ditampilkan jendela Open Project File.
15.Untuk membuka project, kliklah nama file project dari listbox File Name dan klik tombol OK.
A. 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:
int int86(int nomor, union REGS *inregs,
union REGS *outregs)
Keterangan:
< int nomor, nomor interupsi yang akan dijalankan.
< union REGS *inregs, representasi register pada mikroprosesor yang berisi nilai yang akan digunakan untuk menjalankan interupsi.
< union REGS *outregs, representasi register pada mikroprosesor setelah interupsi dijalankan.
Pada fungsi int86, parameter nomor bertipe integer dan dikirimkan secara nilai (by value), sedangkan parameter inregs dan outregs merupakan tipe data union REGS yang telah didefinisikan pada header dos.h dan dikirimkan secara acuan (by reference). Diharapkan pembaca telah memahami tipe data union dan struktur serta pengiriman parameter secara acuan atau secara nilai. Fungsi int86 mengembalikan nilai bertipe integer dari register AX setelah interupsi dijalankan. Tipe data union REGS yang didefinisikan pada file header dos.h merupakan union yang terdiri dari struktur WORDREGS dan BYTEREGS. Berikut ini adalah deklarasi union REGS pada file header dos.h:
Contoh 01.cpp:
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#define VIDEO_INT 0x10 // BIOS Video Interrupt
int main(void)
{
union REGS in, out; // Deklarasi variabel
in.h.ah = 0x09; // AH = 9 heksadesimal
in.h.al = 'E'; // AL = 45 heksadesimal, huruf E
in.h.bh = 0x00; // BH = 0, halaman video
in.h.bl = 0x04; // BL = 4 (warna huruf Merah dan dasar)
in.h.ch = 0x00; // CH dan CL menentukan banyak
in.h.cl = 0x02; // huruf yang akan dicetak (2 Huruf)
clrscr();
int86(VIDEO_INT, &in, &out);
getch();
return EXIT_SUCCESS;
}
Comments
Post a Comment