Practica 4

Páginas: 5 (1052 palabras) Publicado: 20 de enero de 2010
FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

IMPRIMIR IN DIGITO EN HEXADECIMAL

PRACTICA #4

JUÁREZ ZAVALETA MAURO

22-feb-05

[pic]

OBJETIVO……………………………………………………..2

DESARROLLO………...………...…………………………….2

← INSTRUCCIÓN RCL: …. ……………………………5
← INSTRUCCIÓN ADC (suma con carry)………………..5

← INSTRUCCIÓN LOOP (CICLO):..……………………3

PRACTICA(a)…………………………………………………4

PRACTICA (b)…………………………………………………5

PRACTICA (C)…………………………………………………6

CONCLUSIONES…………………………………………...…9

OBJETIVO

← Aprender a convertir un digito en hexadecimal a código ASCII para poder imprimirlo en pantalla

DESARROLLO

Pasos para realizar la conversión de un (digito)numero hexadecimal a código ASCII.

a)Primer paso:

carácter ASCII

MOV AH,02 (
MOV DL,2A
INT 21H
INT 20H

Seselecciona una zona de memoria para almacenar la cadena a imprimir R: 200

*INTRODUCIR CADENA:
R: E 100

PRACTICA

Hacer un programa que imprima en pantalla una cadena de caracteres
- a 100
- xxxx:0100 MOV AH,09 (prepárate para imprimir una cadena de caracteres)
- xxxx:0101 MOV DX,0200 (dirección de la cadena a imprimir)
- INT 21 (imprime cadena)
- Int 20 (findel programa)

-E 200
48 6f 6c 61
2c 20 65 6c
20 44 4f 53
20 73 61 6c
75 64 61 2e
24
-G (ejecutar programa)
Nota: el signo $ indica fin de cadena y no se imprime
Ejemplo:
[pic]
Luego ejecutamos el programa así:
[pic]
COMANDO D(DESPLEGER): Muestra el contenido de la memoria a partir de la zona indicada

PRACTICA (a)Hacer ejecutable el programa anterior

Tenemos que calcular el tamaño y la última dirección es donde
Termina la cadena

Para saber utilizamos el comando D para ver el fin
Así:
[pic]

por lo tanto calculamos el tamaño asi
[pic]

Ahora guardamos el tamaño en BX:CX
Le damos un nombre al archivo
Y guardamos el archivo
Ejemplo:
[pic]
Luego salimos de debug y Ejecutamos el programa[pic]

PRACTICA (b)
HACER UN PROGRAMA QUE DADO UN NUMERO EN HEXADECIMAL LO IMPRIMA EN BINARIO

INSTRUCCIÓN RCL: Rota el carry a la izquierda
Desplaza bit a la CF llenando los huecos con cero
Si solo se desea un desplazamiento se indica con un 1
Si hay mas de un desplazamiento ya no se indica con un numero, En su lugar se utiliza el registro CX donde previamente se almacena el numero dedesplazamiento deseado
Ejemplo:

RCL, BL ,1
Ó
MOV CX, 8
RCL, BL, CX

INSTRUCCIÓN ADC (suma con carry) suma lo que se indique incluyendo el contenido de CF
0=30 (ASCII)
1=31 (ASCII)
CF =0/1+30=(0/1)
DL+CF+30 (CODIGO ASCII DE 0/1)
DL= 0 (DEBE VALER 0)
DL=DL+CF+30
EJEMPLO
ADC DL, 30 (DL=DL+CF+30)

INSTRUCCIÓN LOOP (CICLO): repite un número determinado de instrucciones. Estenumero esta indicado en CX LOOP va a repetir hasta que CX=0 cada vez que se ejecuta LOOP, decrementa automáticamente a 1 a CX

xxxx:0107 MOV CX,8
.
.
.
Loop 0107 (CX=CX-1)

Ejemplo:

-a 100
-xxxx:0100 MOV AH,02 (se prepara para imprimir una cadena)
-xxxx:xxxx MOV BL,0A (0A dato a convertir)
-xxxx:xxxx MOV CX:0008 (numero de caracteres a imprimir)
-xxxx:xxxxMOV DL,0(valor inicial de dl)
-xxxx:xxxx RCL BL,1 (obtén los bits a imprimir)
-xxxx:xxxx ADC DL,30 (convertir bit en código ASCII )
-xxxx:xxxx INT 21 (imp rime bit)
-xxxx:xxxx LOOP DIRECCION DESEADA (regresa a imprimir otro bit)
-xxxx:xxxx INT 20 (fin de programa)

Ejemplo practico:
[pic]

PRACTICA(c)

Hacer un programa que dado un número hexadecimal lo convierta a binario. El programa debefuncionar como sigue:
El número a convertir es: 0A
El número convertido en binario es: 00001010

Ejemplo:
-a 100
-xxxx:xxxx MOV AH,09 (prepárate para imprimir cadena)
-xxxx:xxxx MOV DX,0200 (ubicación de la primera cadena )
-xxxx:xxxx INT 21 (imprime cadena)
-xxxx:xxxx MOV DX,0300 (ubicación de la segunda cadena)
-xxxx:xxxx INT 21 (imprime la cadena)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Practica 4
  • Practica 4
  • Practica 4
  • Practica 4
  • practica 4
  • practica 4
  • Practica 4
  • Practica No. 4

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS