一、實驗目的 1、熟悉操作系統的系統功能調用。 2、掌握用C語言實現系統功能調用的方法和步驟。 3、掌握利用10H號功能調用(BIOS的顯示I/O功能調用)來實現對屏幕的操作與控制。 二、實驗內容 1、在屏幕的指定區域內顯示字元串。(必做題) 2、在屏幕的制定區域內畫框,在框內顯示字元串。(提高題) ...
一、實驗目的
1、熟悉操作系統的系統功能調用。
2、掌握用C語言實現系統功能調用的方法和步驟。
3、掌握利用10H號功能調用(BIOS的顯示I/O功能調用)來實現對屏幕的操作與控制。
二、實驗內容
1、在屏幕的指定區域內顯示字元串。(必做題)
2、在屏幕的制定區域內畫框,在框內顯示字元串。(提高題)
3、在屏幕上指定區域內畫框並以動畫形式顯示字元串。(選做題)
清屏子程式:
void cls(void)
{ union REGS r;
r.h.ah=6; /*子功能號*/
r.h.al=0;
r.h.ch=0; /*左上角坐標*/
r.h.cl=0;
r.h.dh=24; /*右下角坐標*/
r.h.dl=79;
r.h.bh=7; /*7表示黑色*/
int86(0x10,&r,&r); /*系統功能調用*/
}
定位子程式:
void locate(int x, int y)
{ union REGS r;
r.h.ah=2; /*子功能號*/
r.h.dh=x; /*定位點坐標*/
r.h.dl=y;
r.h.bh=0;
int86(0x10,&r,&r);
}
在指定位置寫參數:
void writech(int x , int y, char ch ,int attr)
{ union REGS r;
locate(x ,y);
r.h.ah=9;
r.h.bh=0;
r.h.al=ch;
r.h.bl=attr
r.x.cx=1;
int86(0x10,&r,&r);
}
屏幕畫框可以用製表符來畫。其主要方法是不斷調用writech函數,在指定區域周圍顯示製表符,從而勾勒出一個視窗的輪廓。
製表符 ASCII碼
┛ 217
┏ 218
┓ 191
┗ 192
┃ 179
━ 196