Kamis, 23 Juni 2016

Contoh 6 (Coding) dan Gambarnya


#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#define VIDEO_INT 0x10
#define UCHAR unsigned char


void getCursorPos(UCHAR *y, UCHAR *x);
void setCursorPos(UCHAR y, UCHAR x);
void writeChar(UCHAR letter, UCHAR attr);
int main(void)
{
UCHAR baris, kolom;
getCursorPos(&baris, &kolom); // Baca posisi kursur
writeChar('A', 0x1f); // Cetak huruf A
setCursorPos(baris, ++kolom); // Pindahkan kursor
writeChar('Z', 0x1f); // Cetak huruf Z
setCursorPos(baris, ++kolom); // Pindahkan kursor
getch();
return EXIT_SUCCESS;
}
void getCursorPos(UCHAR *y, UCHAR *x) // Baca posisi
{ // kursor
UCHAR row, col;
asm mov ah, 0x03; // Register AH = 3 heksadesimal
asm mov bh, 0x00; // Register BH = 0 heksadesimal
asm int VIDEO_INT; // Lakukan interupsi
asm mov row, dh; // Salin register DH ke row
asm mov col, dl; // Salin register DL ke col
*y = row; *x = col; // Salin row ke y, col ke x
return;
}
void setCursorPos(UCHAR y, UCHAR x) // Memindahkan
{ // Posisi kursor
asm mov ah, 0x02; // Register AH = 3 heksadesimal
asm mov bh, 0x00; // Register BH = 0 heksadesimal
asm mov dh, y; // Register DH = letak baris
asm mov dl, x; // Register DL = letak kolom
asm int VIDEO_INT; // Lakukan interupsi
return;
}
void writeChar(UCHAR letter, UCHAR attr) // Mencetak
{ // huruf
asm mov ah, 0x09; // Register AH = 9 heksadesimal
asm mov al, letter; // Register AL = hurufnya
asm mov bh, 0x00; // Register BH = 0 heksadesimal
asm mov bl, attr; // Register BL = warna huruf
asm mov ch, 0x00; // Register CH dan CL menentukan
asm mov cl, 0x01; // banyak pencetakan
asm int VIDEO_INT; // Lakukan interupsi
return;
}



Gambarnya Sebagai Berikut :


Penjelasannya :


  • Program diatas terdiri dari empat fungsi, yaitu fungsi main, getCursorPos, setCursorPos dan writeChar. Fungsi getCursorPos berguna untuk mengetahui posisi kursor, fungsi ini mengirimkan parameter y dan x secara acuan. Setelah pemanggilan fungsi, parameter x menyimpan posisi kolom kursor sedangkan parameter y menyimpan posisi baris kursor. Fungsi setCursorPos digunakan untuk memindahkan posisi kursor, fungsi ini mengirimkan parameter y dan x secara nilai. Parameter y digunakan untuk menentukan posisi baris sedangkan parameter x untuk menentukan posisi kolom kursor. Fungsi getCursorPos hampir mirip dengan fungsi wherex dan wherey milik Borland C++ atau Turbo Pascal, sedangkan fungsi setCursorPos hampir mirip dengan fungsi gotoxy.
  • Fungsi writeChar digunakan untuk menampilkan karakter, fungsi ini mengirimkan parameter letter dan attr secara nilai. Parameter letter berisi karakter yang akan ditampilkan sedangkan parameter attr menentukan atribut karakter (warna karakter dan warna dasar). Fungsi ini tidak mengubah posisi kursor, oleh karena itu sesudah pemanggilan fungsi, untuk memindahkan posisi kursor digunakan fungsi setCursorPos

0 komentar:

Posting Komentar

Posting Lebih Baru Posting Lama Beranda

Diberdayakan oleh Blogger.

Facebook

Popular Posts

Formulir Kontak

Nama

Email *

Pesan *

Subscribe Here

Ad Home

Random Posts

Recent Posts

Recent

Header Ads

Popular Posts

Flickr

Newsletter

Subscribe Our Newsletter

Enter your email address below to subscribe to our newsletter.

Ad Banner

About Us

Random Posts

Popular Posts

 

Followers

 

Social Share Icons

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger