C/Visual C - Alguin me puede ayudar con este error

   
Vista:

Alguin me puede ayudar con este error

Publicado por Tito (2 intervenciones) el 07/06/2009 02:46:19
Hola a todos

Cuando trato de copilar me sale este error , alguien sabe como arreglarlo

error C2443: operand size conflict

Este es el programa

#include <dos.h>

/* Definición de Prototipos */
void escribir_puerto (int);
char leer_puerto (void);
void semaforo1 (void);
void config(void);
void delay (int);
main ()
{
/* Se inicia el circuito */
config();

/* Se ejecuta la función normal del semáforo */
/* hasta que se oprime el botón */
do
{
semaforo1();
}
while ((int)leer_puerto()==-1);

/* Se apaga el semáforo y se restablece la */
/* señal de control del botón */
config();

return(0);
}

void semaforo1 (void)
{
/* Luz Roja */
escribir_puerto(1);
delay(5000);

/* Luz Verde */
escribir_puerto(4);
delay(5000);

/* Luz amarilla */
escribir_puerto(2);
delay(1500);

/* Flecha */
escribir_puerto(9);
delay(2000);
}

void config(void)
{
escribir_puerto(0);
escribir_puerto(128);
escribir_puerto(0);
}

void escribir_puerto(int val)
{
_asm{
mov dx,0x02FF
in ax,dx
and ax,0xDE
out dx,ax //inicia puerto de escritura
mov dx,0x02F8
mov ax,val
out dx,ax
}

}

char leer_puerto(void)
{
char dato;

_asm{
mov dx,0x02FF
in al,dx
or al,0x21
out dx,al // inicia puerto de lectura
mov dx,0x02F8
in al,dx
mov dato,al
}
return(dato);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder