|
Comunicación serial en lenguaje ensamblador. En lenguaje ensamblador, se puede acudir a la interrupción 14H de la ROM-BIOS para configurar, leer, escribir o simplemente para conocer el estado del puerto; cada una de estas cuatro opciones es un servicio de la interrupción, y se seleccionan a través del registro AH. La figura 1 muestra los valores que debe contener el registro AH para invocar cada uno de los servicios. En todos los casos, el registro DX debe contener el número del puerto serie; el primero de ellos, COM1 se especifica como 00h.
Para enviar un dato por el puerto serial, bastará con colocar
en el registro AH el valor 01 correspondiente a este servicio y en el registro
AL el dato a ser enviado, invocando de nuevo la interrupción 14H.
La lectura de un dato que ha llegado al puerto se logra con el servicio
02, el cual devuelve en el registro AL el dato. La lectura del estado del
puerto se consigue a través del servicio 03 de esta misma interrupción,
y retorna en el registro AX el estado del puerto, el cual contendrá
los bits que se muestran en la figura 3.
Por ejemplo, podemos utilizar el lenguaje ensamblador para configurar el puerto serial para 1200 baudios, sin bit de paridad, sin bit de parada y 8 bits, realizando el siguiente programa:
mov a1,83 ;configuración: 1200 baudios, no paridad, ;un bit de parada, 8 bits de datos mov dx,00 ;Seleccionar puerto COM1 int 14 ;interrupción del BIOS mov ah,4c ;servicio 4ch de INT 21h: terminar int 21 ;interrupción servicio del DOS Otra forma de seleccionar los parámetros de la comunicación y lograr ésta, es mediante la modificación y consulta de los registros correspondientes al circuito integrado que maneja la comunicación serial: el UART 8250 o similar. Como se sabe, este circuito integrado puede ser manejado como un puerto, en el cual es posible la escritura o lectura de sus estados. Comunicación con el
puerto paralelo en lenguaje ensamblador.
in AL,DX ;lleva al registro AL, el contenido del puerto DX Como veran la utilización del puerto paralelo en lenguaje emsamblador es muy sencilla. Referencias utilizadas:
Otros Articulos |