操作系统实验一(瑾墨)

基础篇:

#include<stdio.h>
#include<dos.h>
#include<stdlib.h>
#include<conio.h>
#define SCR 0x10
void cls(void)
{
union REGS r;
r.h.ah=6;
r.h.al=0;
r.h.cl=0;
r.h.ch=0;
r.h.dh=24;
r.h.dl=79;
r.h.bh=7;
int86(SCR,&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(SCR,&r,&r);
}

void writech(int x,int y,char ch,int attrib)
{
union REGS r;
locate(x,y);
r.h.ah=9;
r.h.bh=0;
r.h.al=ch;
r.h.bl=attrib;
r.x.cx=1;
int86(SCR,&r,&r);
}
int main()
{
int i,x=10,y=10;
cls();
for(i=0;i<26;i++)
writech(x,y+i,65+i,7);
getch();
return(0);
}

提高篇:

#include<stdio.h>
#include<dos.h>
#include<stdlib.h>
#include<conio.h>
void cls(void)
{
union REGS r;
r.h.ah=6;
r.h.al=0;
r.h.cl=0;
r.h.ch=0;
r.h.dh=24;
r.h.dl=79;
r.h.bh=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 attrib)
{
union REGS r;
locate(x,y);
r.h.ah=9;
r.h.bh=0;
r.h.al=ch;
r.h.bl=attrib;
r.x.cx=1;
int86(0x10,&r,&r);
}
int main()
{
int i,x=10,y=10;
cls();
writech(8,8,218,7);
for(i=9;i<=36;i++)
writech(8,i,196,7);
writech(8,37,191,7);
for(i=9;i<=11;i++)
writech(i,8,179,7);
for(i=9;i<=11;i++)
writech(i,37,179,7);
writech(12,8,192,7);
for(i=9;i<=36;i++)
writech(12,i,196,7);
writech(12,37,217,7);
for(i=0;i<26;i++)
{
writech(x,y+i,65+i,7);
for(i=0;i<26;i++)
writech(x,y+i,65+i,7);
}
getch();
return(0);
}

挑战篇:

#include<stdio.h>
#include<dos.h>
#include<stdlib.h>
#include<conio.h>
#define SCR 0x10
void cls(void)
{
union REGS r;
r.h.ah=6;
r.h.al=0;
r.h.cl=0;
r.h.ch=0;
r.h.dh=24;
r.h.dl=79;
r.h.bh=7;
int86(SCR,&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(SCR,&r,&r);
}

void writech(int x,int y,char ch,int attrib)
{
union REGS r;
locate(x,y);
r.h.ah=9;
r.h.bh=0;
r.h.al=ch;
r.h.bl=attrib;
r.x.cx=1;
int86(SCR,&r,&r);
}
int main()
{
int i,x=10,y=10;
while(1){
cls();
writech(8,8,218,7);
for(i=9;i<=36;i++)
writech(8,i,196,7);
writech(8,37,191,7);
for(i=9;i<=11;i++)
writech(i,8,179,7);
for(i=9;i<=11;i++)
writech(i,37,179,7);

writech(12,8,192,7);
for(i=9;i<=36;i++)
writech(12,i,196,7);
writech(12,37,217,7);


for(i=0;i<26;i++){
writech(x,y+i,65+i,7);
delay(10000000);}
}
getch();
return(0);
}

posted @ 2018-03-09 10:52  瑾墨  阅读(199)  评论(0编辑  收藏  举报