PROBLEMÁTICAS


1. Primera Problemática: Enviar un dato por el puerto paralelo.

Solución: El lenguaje C nos da como solución la función ouport y está en la librería "DOS.h" en cambio el lenguaje ensamblador nos entrega la función "OUT".

2. Segunda Problemática: Enivar datos de más de 4bits por el puerto paralelo.

Solución: Al trabajar en Assembler, se a recurrido a enviar el dato (de más de 4 bits) por el puerto paralelo, dividido en nibbles.

3. Tercera Problemática: Recibir un dato por el puerto paralelo.

Solución: Primero identificamos los pines de entrada del puerto paralelo,luego ocupamos la función "inport" del lenguaje c y la función "in" del lenguaje ensamblador.

4. CuartaProblemática: Recibir datos de más de 4 bits por el puerto paralelo.

Solución: Al igual que el enviado de datos, se ha optado por recibir el dato nibble a nibble, para luego sumar cada nibble.

Las Problemáticas 1,2,3 y 4 resueltas en:  ENVIA.ASM & RECIBE.ASM

5. Quinta Problemática: Sicronizacion del envio y recepcion de datos.

Solución: En el puerto paralelo, existe un pin, identificado como "bussy" (pin 7 de envio y 5 de recepcion), con el cual se verifica tanto la recepcion como el envio de los datos.

6. Sexta Problemática: Union de funciones hechas en Assembler con el programa hecho en C. Este Problema se gerera, debido a que en las funciones Envia.asm y Recibe.asm, se trabaja con los registros extendidos del PC (EAX, ABX, ACX y EDX), los cuales son de 32 bits, en cambio el Lenguage C, no identifica estos registros (C trabaja unicamente con los registros de 16 bits, identificados en este leguaje com: _AX, _BX, _CX y _DX)

Solución: Este problema, se solucionó trabajando con la funcion system de la libreria <stdlib.h> de C, llamando a los programas ejecutables: ENVIA.COM y RECIBE.COM.