主题:急求C语言写成汇编
#include<reg51.h>
char min,sec,hou,a,b,c;
char n[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char count;
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P17=P1^7;
void delay(void)
{int k;
for(k=0;k<100;k++);
}
void display(int m,int s,int ds)
{char m1,m2,s1,s2,ds1,ds2,i;
m1=m2=s1=s2=ds1=ds2=0;
if(m>0){m2=m%10;m/=10;}
if(m>0) m1=m%10;
if(s>0){s2=s%10;s/=10;}
if(s>0) s1=s%10;
if(ds>0){ds2=ds%10;ds/=10;}
if(ds>0)ds1=ds%10;
P2=0xff;
for(i=0;i<6;i++)
{switch(i)
{case 0:P2=0xfe;P0=n[m1];delay();
case 1:P2=0xfd;P0=n[m2];delay();
case 2:P2=0xfb;P0=n[s1];delay();
case 3:P2=0xf7;P0=n[s2];delay();
case 4:P2=0xef;P0=n[ds1];delay();
case 5:P2=0xdf;P0=n[ds2];delay();
}
}
}
void initial(void)
{TMOD=0x01;
IT0=1;
EA=1;
ET0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
EX0=1;
hou=0;
min=0;
sec=0;
a=0;
b=0;
c=0;
}
void main(void)
{int i;
initial();
while(1)
{if(P10==1) display(hou,min,sec);
if(P10==0) display(a,b,c);
if((a==hou)&&(b==min))
{
for(i=0;i<100;i++) P17=1;
for(i=0;i<100;i++) P17=0;}
}
}
void T0serv(void) interrupt 1 using 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
count++;
if(count>9)
{sec++;
count=0;
}
if(sec>59)
{min++;
sec=0;
}
if(min>59){hou++;min=0;}
if(hou>23){hou=0;}
}
void INT0serv(void) interrupt 0 using 1
{if(P10==1)
{if(P11==0){ min++;
if(min>59)
min=0;}
if(P11==1){ hou++;
if(hou>23)
hou=0;}
}
if(P10==0)
{if(P11==0) {b++;
if(b>59)
b=0;}
if(P11==1) {a++;
if(a>23)
a=0;}
}
}
请高手老师写成汇编语言的
char min,sec,hou,a,b,c;
char n[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char count;
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P17=P1^7;
void delay(void)
{int k;
for(k=0;k<100;k++);
}
void display(int m,int s,int ds)
{char m1,m2,s1,s2,ds1,ds2,i;
m1=m2=s1=s2=ds1=ds2=0;
if(m>0){m2=m%10;m/=10;}
if(m>0) m1=m%10;
if(s>0){s2=s%10;s/=10;}
if(s>0) s1=s%10;
if(ds>0){ds2=ds%10;ds/=10;}
if(ds>0)ds1=ds%10;
P2=0xff;
for(i=0;i<6;i++)
{switch(i)
{case 0:P2=0xfe;P0=n[m1];delay();
case 1:P2=0xfd;P0=n[m2];delay();
case 2:P2=0xfb;P0=n[s1];delay();
case 3:P2=0xf7;P0=n[s2];delay();
case 4:P2=0xef;P0=n[ds1];delay();
case 5:P2=0xdf;P0=n[ds2];delay();
}
}
}
void initial(void)
{TMOD=0x01;
IT0=1;
EA=1;
ET0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
EX0=1;
hou=0;
min=0;
sec=0;
a=0;
b=0;
c=0;
}
void main(void)
{int i;
initial();
while(1)
{if(P10==1) display(hou,min,sec);
if(P10==0) display(a,b,c);
if((a==hou)&&(b==min))
{
for(i=0;i<100;i++) P17=1;
for(i=0;i<100;i++) P17=0;}
}
}
void T0serv(void) interrupt 1 using 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
count++;
if(count>9)
{sec++;
count=0;
}
if(sec>59)
{min++;
sec=0;
}
if(min>59){hou++;min=0;}
if(hou>23){hou=0;}
}
void INT0serv(void) interrupt 0 using 1
{if(P10==1)
{if(P11==0){ min++;
if(min>59)
min=0;}
if(P11==1){ hou++;
if(hou>23)
hou=0;}
}
if(P10==0)
{if(P11==0) {b++;
if(b>59)
b=0;}
if(P11==1) {a++;
if(a>23)
a=0;}
}
}
请高手老师写成汇编语言的