当前位置: 代码迷 >> C语言 >> 调用中断函数出现问题,不解
  详细解决方案

调用中断函数出现问题,不解

热度:119   发布时间:2007-01-19 23:40:44.0
调用中断函数出现问题,不解
今天晚上写了一个清屏的中断函数,测试运行的时候弹出终止框,显示信息为:ntv.exe遇到问题需要关闭,点击确定之后,tc自动关闭。我想问问大家到底是什么原因,程序代码如下:
#include<dos.h>
#include<bios.h>
#include<conio.h>
void CLSXY(int color,int x,int y,int length,int width);
int main(void)
{
CLSXY(BLUE,10,5,50,20);
return 0;
}
void CLSXY(int color,int x,int y,int length,int width)
{
int x1,y1;
union REGS r;
if(x<1||y<1) return;
y--;
x--;
y1=y+yl-1;
x1=x+xl-1;
if (y1>25||x1>80)
return;
r.h.ah=6;
r.h.al=0;
r.h.ch=y;
r.h.cl=x;
r.h.dh=y1;
r.h.dl=x1;
r.h.bh=color*16;
int86(16,&r,&r);
}
搜索更多相关的解决方案: int  函数  void  CLSXY  include  

----------------解决方案--------------------------------------------------------

我这运行正常啊
但是r.h.al=0;应该改成 1 吧


----------------解决方案--------------------------------------------------------

确实没有问题,是我弄错了,呵呵
y1=y+yl-1;
x1=x+xl-1;
应该改为:
y1=y+width-1;
x1=x+length-1;


----------------解决方案--------------------------------------------------------
r.h.al=0;不改成 1 么?

----------------解决方案--------------------------------------------------------