回 帖 发 新 帖 刷新版面

主题:一个小问题(如何用TC初始化13H模式)

书上给出了初始化13H的函数:
#define VGA256 0x13 /*图形模式13H*/
#define TEXT_MODE 0x03   /*普通文本模式*/
unsigned char *video_buffer=(char *)0xA0000000L;
void Set_video_mode(int mode) /*设置显示模式的函数*/
{
      union REGS inregs,outregs;           /*定义输入和返回寄存器*/
      inregs.h.ah=0;            /*ah存放功能号,0h表示进入视屏模式设定*/
      inregs.h.al=(unsigned char )mode;/*al存放要设定的视屏模式*/
      int86(0x10,&inregs,&outregs);   /*通过10h中断设定显示模式*/
}
 
为什么编译通过不了?

回复列表 (共2个回复)

沙发

用TC就必须要有一个MAIN函数

板凳

谢了,附上正确的代码:(在力量!的帮助下完成)

#include<dos.h>
#include<mem.h>
#define VGA256 0x13
#define TEXT_MODE 0x03
#define set_mode  0x00
#define  video_int 0x10
typedef unsigned char byte;
unsigned char *video_buffer=(char *)0xA0000000L;
void Set_video_mode(byte mode)
{
       union REGS res;
       res.h.ah=set_mode;
       res.h.al=mode;
       int86(video_int,&res,&res);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册