Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PRCTICA DE LABORATORIO No V
NOMBRE DE LA PRCTICA:
OBJETIVO: APRENDER A CONVERTIR 2 DGITOS HEXADECIMALES A CDIGO ASCII, AS COMO A LEER UN CARCTER DE TECLADO. DESARROLLO DE LA PRCTICA Problema: Se desea imprimir en pantalla un nmero como por ejemplo 35.
Algoritmo Paso 1. Desplazar los 4 bits ms significativos a los 4 menos significativos. BL <- 35 0 0 1 1 => 0 1 0 1 --------- ---------SHR (Shift Right = desplazamiento a la derecha) (s) shr {R|M}, {cl|I8} (explicacin) La instruccin shr funciona desplazando los bits a la derecha en lugar de a la izquierda, tal y como se muestra en la figura siguiente.
Paso 2.
Impresin del primer digito MOV AH, 02 Preprate a imprimir un carcter MOV BL, 35 Dato a imprimir MOV CX, 0004 Numero de bits a desplazar MOV DL, BL Respaldo del dato a imprimir SHR DL, CL Pasa los 4 bits ms significativos a los 4 bits menos significativos ADD DL, 30 Convierte a digito CMP DL, 3A Pregunta si es letra JL Dir Salte si es digito ADD DL, 7 Fue letra Dir INT 21 Imprime caracter INT 20 Fin del programa
Paso 3 Imprimir segundo dgito Enmascarar los 4 bits menos significativos del registro BL Las instrucciones lgicas realizan operaciones lgicas bit a bit con sus operandos.
Instruccin
AND
(producto lgico)
Paso 4
Impresin del segundo digito MOV AH, 02 Preprate a imprimir un carcter MOV BL, 53 Dato a imprimir MOV DL, BL Respaldo del dato a imprimir AND DL, 0F Aisla el segundo digito, eliminando el primero ADD DL, 30 Convierte a digito CMP DL, 3A Pregunta si es letra JL Dir Salte si es digito ADD DL, 7 Fue letra Dir: INT 21 Imprime caracter INT 20 Fin del programa
Ejercicio No. 1: Juntar los dos programas anteriores y ejecutarlo para imprimir 2 dgitos
Funcin 01 de la INT 21H = Leer un carcter de teclado Teclado AL= Cdigo ASCII Impresin Programa: MOV AH, 01 Preprate para leer INT 21 Lee carcter SUB AL, 30 Convierte a digito CMP AL, 9 Si es menor o igual JLE Direccin Es un Digito SUB AL, 7 Es letra Direccin INT 20 Fin del Programa Ejercicio 2: Hacer un programa que dados 2 nmeros de un solo digito, los sume e imprima el resultado en pantalla, de la siguiente manera: El primer nmero es: 8. El segundo nmero es: 9. El resultado de la suma es: 11.