DE c a ensamblador Ayuda urgente!!!!
saludos estoy en un dilema y es de urgencia tengo un programa que esta hecho en C y lo necesito pasar a ensamblador pero estoy un poco obsoleto en ensamblador si alguien me puede ayudara pasarlo a ensamblador aqui esta el codigo en C o si sabe como aserlo Gracias
#include<dos.h>
#include<conio.h>
#include<stdio.h>
void encendido (void);
int val,c=8,suma=0,foco[10],i;
void main(void)
{
int opc,b=1;
clrscr();
while (b==1)
{
clrscr();
gotoxy (35,3);
printf ("--M E N U--");
gotoxy (33,6);
printf ("1. Foco x foco");
gotoxy (33,7);
printf ("2. Prender todos");
gotoxy (33,8);
printf ("3. Apagar todos");
gotoxy (33,9);
printf ("4. Salir");
gotoxy (30,15);
printf ("Teclea la opcion:");
scanf ("%d", &opc);
switch (opc)
{
case 1:
encendido();
break;
case 2:val=255;
c=8;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{
foco[i]=1;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
getch();
break;
case 3:val=0;
c=8;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{
foco[i]=0;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
getch();
break;
case 4:
b=0;
break;
}
}
}
void encendido (void)
{
int op=0;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{ c=8;
foco[i]=0;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
while(op<9)
{
gotoxy(40,20);
printf("Numero de foco: ");
scanf("%d",&op);
switch(op)
{
case 1:
if(foco[0]==0)
{
val=1;
gotoxy(8,9);
printf("1");
foco[0]=1;
}
else
{
gotoxy(8,9);
printf("0 ");
foco[0]=0;
}
break;
case 2:
if(foco[1]==0)
{
val=2;
gotoxy(17,9);
printf("1");
foco[1]=1;
}
else
{
gotoxy(17,9);
printf("0");
foco[1]=0;
}
break;
case 3:
if(foco[2]==0)
{
val=4;
gotoxy(26,9);
printf("1");
foco[2]=1;
}
else
{
gotoxy(26,9);
printf("0 ");
foco[2]=0;
}
break;
case 4:
if(foco[3]==0)
{
val=8;
gotoxy(35,9);
printf("1");
foco[3]=1;
}
else
{
gotoxy(35,9);
printf("0 ");
foco[3]=0;
}
break;
case 5:
if(foco[4]==0)
{
val=16;
gotoxy(44,9);
printf("1");
foco[4]=1;
}
else
{
gotoxy(44,9);
printf("0");
foco[4]=0;
}
break;
case 6:
if(foco[5]==0)
{
val=32;
gotoxy(53,9);
printf("1");
foco[5]=1;
}
else
{
gotoxy(53,9);
printf("0");
foco[5]=0;
}
break;
case 7:
if(foco[6]==0)
{
val=64;
gotoxy(62,9);
printf("1");
foco[6]=1;
}
else
{
gotoxy(62,9);
printf("0");
foco[6]=0;
}
break;
case 8:
if(foco[7]==0)
{
val=128;
gotoxy(71,9);
printf("1");
foco[7]=1;
}
else
{
gotoxy(71,9);
printf("0");
foco[7]=0;
}
break;
if(foco[op-1]==0 && op<9)
{
foco[op-1]=1;
suma=suma+val;
printf("1");
getch();
}
else
{
foco[op-1]=0;
suma=suma-val;
printf("0");
getch();
}
}
}
}
#include<dos.h>
#include<conio.h>
#include<stdio.h>
void encendido (void);
int val,c=8,suma=0,foco[10],i;
void main(void)
{
int opc,b=1;
clrscr();
while (b==1)
{
clrscr();
gotoxy (35,3);
printf ("--M E N U--");
gotoxy (33,6);
printf ("1. Foco x foco");
gotoxy (33,7);
printf ("2. Prender todos");
gotoxy (33,8);
printf ("3. Apagar todos");
gotoxy (33,9);
printf ("4. Salir");
gotoxy (30,15);
printf ("Teclea la opcion:");
scanf ("%d", &opc);
switch (opc)
{
case 1:
encendido();
break;
case 2:val=255;
c=8;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{
foco[i]=1;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
getch();
break;
case 3:val=0;
c=8;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{
foco[i]=0;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
getch();
break;
case 4:
b=0;
break;
}
}
}
void encendido (void)
{
int op=0;
clrscr();
gotoxy(20,20);
printf("Salir=9");
gotoxy (6,7);
printf("Foco1 Foco2 Foco3 Foco4 Foco5 Foco6 Foco7 Foco8 " );
for(i=0;i<=7;i++)
{ c=8;
foco[i]=0;
gotoxy(c,9);
printf("%d",foco[i]);
c=c+9;
}
while(op<9)
{
gotoxy(40,20);
printf("Numero de foco: ");
scanf("%d",&op);
switch(op)
{
case 1:
if(foco[0]==0)
{
val=1;
gotoxy(8,9);
printf("1");
foco[0]=1;
}
else
{
gotoxy(8,9);
printf("0 ");
foco[0]=0;
}
break;
case 2:
if(foco[1]==0)
{
val=2;
gotoxy(17,9);
printf("1");
foco[1]=1;
}
else
{
gotoxy(17,9);
printf("0");
foco[1]=0;
}
break;
case 3:
if(foco[2]==0)
{
val=4;
gotoxy(26,9);
printf("1");
foco[2]=1;
}
else
{
gotoxy(26,9);
printf("0 ");
foco[2]=0;
}
break;
case 4:
if(foco[3]==0)
{
val=8;
gotoxy(35,9);
printf("1");
foco[3]=1;
}
else
{
gotoxy(35,9);
printf("0 ");
foco[3]=0;
}
break;
case 5:
if(foco[4]==0)
{
val=16;
gotoxy(44,9);
printf("1");
foco[4]=1;
}
else
{
gotoxy(44,9);
printf("0");
foco[4]=0;
}
break;
case 6:
if(foco[5]==0)
{
val=32;
gotoxy(53,9);
printf("1");
foco[5]=1;
}
else
{
gotoxy(53,9);
printf("0");
foco[5]=0;
}
break;
case 7:
if(foco[6]==0)
{
val=64;
gotoxy(62,9);
printf("1");
foco[6]=1;
}
else
{
gotoxy(62,9);
printf("0");
foco[6]=0;
}
break;
case 8:
if(foco[7]==0)
{
val=128;
gotoxy(71,9);
printf("1");
foco[7]=1;
}
else
{
gotoxy(71,9);
printf("0");
foco[7]=0;
}
break;
if(foco[op-1]==0 && op<9)
{
foco[op-1]=1;
suma=suma+val;
printf("1");
getch();
}
else
{
foco[op-1]=0;
suma=suma-val;
printf("0");
getch();
}
}
}
}
