»ùÓÚ8086µÄµç×ÓÍòÄêÀú´òÓ¡¸å

int btn;//io½Ó¿Ú int count=0;

void outp(unsigned int addr, char data) // Output byte to port { __asm

{ mov dx, addr mov al, data out dx, al } }

char inp(unsigned int addr) // Input byte from port { char result; __asm

{ mov dx, addr in ax, dx

mov result, ax }

return result; }

void delay() //ÑÓ³Ùº¯Êý {

int t=0;

for(t=0;t<100;t++) {}; }

void nian(int x)//¶ÔÄê·Ý½øÐд¦Àí {

n1=x/1000; x=x-1000*n1; n2=x/100; x=x-100*n2; n3=x/10; n4=x-10*n3; }

void yue(int x)//¶ÔÔ½øÐд¦Àí

8

{

if(x>9) {

y2=x; x=x-y2; y1=x/10; } else { y2=x; y1=0; } }

void tian(int x)//¶ÔÈÕ½øÐд¦Àí {

t2=x; x=x-t2; t1=x/10; }

void shi(int x)//¶Ôʱ½øÐд¦Àí {

s2=x; x=x-s2; s1=x/10; }

void fen(int x)//¶Ô·Ö½øÐд¦Àí { f2=x; x=x-f2; f1=x/10; }

void miao(int x)//¶ÔÃë½øÐд¦Àí {

m2=x; x=x-m2; m1=x/10; }

void xingqi(void)//¶ÔÐÇÆÚ´¦Àí {

if(y2==1&&y1==0) { y1=1; y2=3;

9

} else if(y2==2&&y1==0) { y1=1; y2=4; }

xq=((10*n1+n2)/4-2*(10*n1+n2)+(10*n3+n4)+(10*n3+n4)/4+13*(10*y1+y2+1)/5+10*t1+t2+1)%7; }

void xienian()//дÄêµ½ÊýÂë¹Ü { int i=0; outp(IOA,shuma[i]);

outp(IOB,table[n1]); i++; delay();

outp(IOA,shuma[i]);

outp(IOB,table[n2]); i++; delay();

outp(IOA,shuma[i]);

outp(IOB,table[n3]); i++; delay();

outp(IOA,shuma[i]);

outp(IOB,table[n4]); delay();

}

void xieyue()//дÔµ½ÊýÂë¹Ü {

int i=4;

outp(IOA,shuma[i]);

outp(IOB,table[y1]); i++;

10

delay();

outp(IOA,shuma[i]);

outp(IOB,table[y2]); i++; delay();

}

void xietian()//дÌìµ½ÊýÂë¹Ü { int i=6; outp(IOA,shuma[i]);

outp(IOB,table[t1]); i++; delay();

outp(IOA,shuma[i]);

outp(IOB,table[t2]); i++; delay(); } void xieshi()//дСʱµ½ÊýÂë¹Ü { int i=0; outp(IOC1,shuma[i]); outp(IOB1,table[s1]); delay(); i++; outp(IOC1,shuma[i]); outp(IOB1,table[s2]); delay(); } void xiefen()//д·ÖÖÓµ½ÊýÂë¹Ü

11

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)