Código de ejemplo
Descripción: se trata de un código en ensamblador que convierte un número en formato decimal, en el rango de -32768 a 65535 a binario. El usuario debe introducir el número por teclado y el número resultante de la conversión aparecerá impreso en pantalla. Para el acceso al teclado y pantalla se han utilizado rutinas de interrupción de la BIOS. Existe control de errores, de modo que el usuario no puede introducir por teclado un número mayor a 65525 así como caracteres incorrectos, etc. Para introducir número negativos simplemente comenzar por el carácter '-'.
El código está repartido en dos módulos:
p0.asm : se trata del módulo
principal, se encarga de la interacción con la pantalla y el teclado.
conv.asm : contiene la función de conversión de
decimal a binario, está escrita de forma que puede ser llamada también desde
el lenguaje C.
adicionalmente se proporciona un fichero de código C, main.c, desde el cual se hace uso del modulo conv.asm como muestra de interacción entre el lenguaje C y el ensamblador.
Interrupciones BIOS utilizadas:
Obtener un caracter del teclado
INT 16H AH = 0H
Descripción: La función de esta rutina es obtener un carácter del
teclado y almacenarlo en el
registro AL en forma de código ASCII.
Uso: Entrada: AH = 0H
Salida:
AL = código ASCII del carácter introducido por teclado
Registros
afectados: Ninguno
Salida de un carácter por pantalla
INT 10H AH = 0eH
Descripción: La función de esta rutina es visualizar un carácter en pantalla.
Uso: Entrada: AH = 0eH
AL contiene el código ASCII del carácter a visualizar.
Salida:
Ninguna
Registros
afectados: Ninguno