lunes, 25 de noviembre de 2013

COMO ACEPTAR Y DESPLEGAR NOMBRES


El programa de la figura 9-2 pide al usuario que introduzca un nombre y después lo despliegue en el centro de la pantalla y emite un sonido la bocina. Por ejemplo, si el usuario introduce el nombre Pat Brown, el programa realiza lo siguiente:

1. Divide la longitud 09 entre dos: 9/2=4, ignorando la fracción
2. Resta este resultado de 40:40-4=36

En F10CENT, la instrucción SHR corre la longitud 09 un bit a la derecha dividiendo de hecho la longitud entre 2. Los bits 00001001 se convierten en 00000100, o 4. La instrucción NEG invierte el signo, cambiando +4 a -4. ADD suma el valor 40, dando el registro DL la posición inicial de la columna, 36. Con el cursor colocado en el reglón 12, columna 36, el nombre aparece en la pantalla como sigue:



























Observe que la instrucción en E10CODE que inserta el carácter campana (07H) en el área de entrada sigue de manera inmediata al nombre:



Los dos primeros MOV establecen el BX con la longitud. El tercer MOV hace referencia a un especificador de indice en corchetes que significa que el BX actua como un registro especial de indice para facilitar el direccionamiento extendido. El MOV combina la longitud en el BX con la dirección de NAMEFLD y mueve al 07H a la dirección calculada. Así para una longitud de 05 la instrucción inserta 07H en NAMEFLD+5 (reemplazando el carácter enter) a continuación del nombre. La ultima instrucción en E10CODE inserta un delimitador "$" después del 07H, de manera que la función 09H del DOS pueda desplegar el nombre y sonar la bocina.


No hay comentarios:

Publicar un comentario