Asignatura: ASSEMBLER INF-153 LABORATORIO 1

´ ANDRES UNIVERSIDAD MAYOR DE SAN FACULTAD DE CIENCIAS PURAS Y NATURALES ´ CARRERA DE INFORMATICA Asignatura: ASSEMBLER INF-153 LABORATORIO 1 Catedr´

0 downloads 155 Views 20KB Size

Recommend Stories


Programas de Asignatura LABORATORIO EXPERIMENTAL: SUSTENTABILIDAD APLICADA
Formato Programa Orientado por Competencias Programas de Asignatura LABORATORIO EXPERIMENTAL: SUSTENTABILIDAD APLICADA A. Antecedentes Generales 1.

LABORATORIO N 1: EL MICROSCOPIO
LABORATORIO N° 1: EL MICROSCOPIO Imagen: Microscopio óptico compuesto. A la izquierda partes y funciones del microscopio. A la derecha trayecto de la

Story Transcript

´ ANDRES UNIVERSIDAD MAYOR DE SAN FACULTAD DE CIENCIAS PURAS Y NATURALES ´ CARRERA DE INFORMATICA

Asignatura: ASSEMBLER INF-153 LABORATORIO 1 Catedr´atico: Ms.C. Carlos Mullisaca Choque 12 de agosto de 2009

´ Indice 1. DEBUG 1.1. Caracter´ısticas del DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1

2. Comandos de DEBUG

2

3. Pr´acticas en laboratorio 3.1. Introducir un programa simb´olico en ensamblador . . . . . . . . . . . 3.2. Obtener el n´umero de versi´on del DOS . . . . . . . . . . . . . . . . . 3.3. Obtener la fecha actual( INT 21h, funci´on 2Ah) . . . . . . . . . . . . 3.4. Verificaci´on del tama˜no de la memoria . . . . . . . . . . . . . . . . . 3.5. Verificaci´on de la identificaci´on del modelo (FFFFEH) . . . . . . . . 3.6. Verificaci´on de la fecha en el ROM BIOS (FFFF5H) . . . . . . . . . 3.7. Guardar un programa . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8. Cargar un archivo a la memoria . . . . . . . . . . . . . . . . . . . . . 3.9. Programa para Imprimir los siguientes n´umeros: -0-1-2-3-4-5-6-7-8-9 3.10. Programa para desplegar la siguiente frase: “HOLA ASSEMBLER” .

2 2 3 3 3 4 4 4 4 5 6

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

1. DEBUG El programa DEBUG, es una utiler´ıa que realiza tres tareas: 1. Ver el contenido de las memorias ROM y RAM 2. Ejecutar un programa, en su totalidad o una instruccion a la vez 3. Ensamblar o ejecutar programas

1.1. Caracter´ısticas del DEBUG Despliega todo el c´odigo del programa y los datos en formato hexadecimal. S´olo puede crear archivos con extensi´on .COM, y no pueden ser mayores a 64 kb y debe comenzar en el desplazamiento (offset)0100H (Direcci´on de memoria donde se cargan los programas del tipo .COM).

1

2. Comandos de DEBUG A D E G N P Q R T U W

Ensamblar instrucciones simb´olicas y pasarlas a c´odigo m´aquina Mostrar el contenido de un a´ rea de memoria Introducir datos en memoria, iniciando en una localidad espec´ıfica Correr el programa ejecutable que se encuentra en memoria Nombrar un programa Proceder o ejecutar un conjunto de instrucciones relacionadas Salir de la sesi´on con DEBUG Mostrar el contenido de uno o mas registros Rastrear la ejecuci´on de una instrucci´on Desensamblar c´odigo m´aquina y pasarlo a c´odigo simb´olico Escribir o grabar un programa en disco

3. Pr´acticas en laboratorio 3.1. Introducir un programa simb´olico en ensamblador Uso de comando A para introducir un programa. a). Inicializar la direcci´on de inicio en el segmento de c´odigo con desplazamiento 100h A 100h [Enter] b). Ingrese el siguiente programa: MOV AL,25 [Enter] MOV BL,32 [Enter] ADD AL,BL [Enter] NOP [Enter, Enter] Nota: El segundo [Enter] de la u´ ltima instrucci´on(NOP), indica a DEBUG que ya no hay mas instrucciones por ingresar. Al terminar DEBUG debe mostrar lo siguiente: xxxx:0100 MOV AL,25 xxxx:0102 MOV BL,32 xxxx:0104 ADD AL,BL xxxx:0106 NOP c). Examinar el lenguaje m´aquina generado con el comando U, indicar a DEBUG las localidades de la primera y u´ ltima instrucci´on que se quiere ver, en este caso, 100h y 106 h. Teclee : U 100,106 [Enter] Nota : 100 indica en donde inicia el programa, y 106 indica en donde est´a la ultima instrucci´on (xxxx:106 NOP) La pantalla debe mostrar columnas para la localidad, el c´odigo de m´aquina y el c´odigo simb´olico: xxxx:0100 B025 MOV AL,25 xxxx:0102 B332 MOV BL,32 xxxx:0104 00D8 ADD AL,BL xxxx:0106 90 NOP Rastrear la ejecuci´on del programa: • Introducir R para desplegar los registros y la primera instrucci´on, • y despu´es T de manera sucesiva para rastrear las instrucciones subsecuentes. • Cuando llegue a NOP de la localidad 106h, presione Q para salir de la ejecuci´on. 2

´ 3.2. Obtener el numero de versi´on del DOS La instrucci´on que entrega el n´umero de versi´on es INT 21h del DOS, funci´on 30h. a). Ingrese el comando A 100 (de DEBUG ) b). Ingrese las instrucciones en ensamblador: MOV AH,30 INT 21 NOP (seguido por un [enter] adicional ) Para rastrear la ejecuci´on de las instrucciones, primero ingresar R para ver los registros y T para rastrear MOV, ingresar P(proceder) para ejecutar toda la rutina del DOS. El proceso termina con la instrucci´on NOP. El n´umero principal de la versi´on del DOS se encuentra en AL , como X en DOS X.20, y en AH el n´umero secundario de la versi´on, como 14H(o 20) en DOS X.20. Presionar Q para salir.

3.3. Obtener la fecha actual( INT 21h, funci´on 2Ah) MOV AH,2A INT 21 NOP Para ejecutar seguir los siguientes pasos: Ingresar R para mostrar los registros, T para ejecutar MOV, P(proced) para INT, la operaci´on se detiene en NOP. Presionar Q, para salir. Los registros muestran esta informaci´on: AL : D´ıa de la semana(0=Domingo) CX : A˜no(en hexadecimal, por ejemplo, 07DH = 1997) DH : Mes (01 a 12) DL : D´ıa del mes (01 a 31)

˜ de la memoria 3.4. Verificaci´on del tamano El tama˜no de la memoria se puede verificar en las Localidades : 413H y 414H Teclear: D 40:13 [ Enter ] El despliegue(depende de cada PC): 0040:0013 .. .. .. xx xx Los primeros dos bytes mostrados en el desplazamiento 0013H son los KB de memoria en hexadecimal, con los bytes en secuencia inversa. Ejemplo: HEXADECIMAL INVERSO HEXADECIMAL CORREGIDO VALOR DECIMAL(K) 00 02 02 00 512 80 02 02 80 640

3

3.5. Verificaci´on de la identificaci´on del modelo (FFFFEH) Teclear: D FFFF:E [Enter] CODIGO HEX. F8 F9 FA FB FC FE FF

MODELO PS/2 modelos 70 y 80 PC convertible PS/2 modelo 30 PC-XT (1986) PC-AT, PC-XT modelo 286, PS/2 modelos 50 y 60, etc. PC-XT (1982), port´atil (1982) Primera IBM PC

3.6. Verificaci´on de la fecha en el ROM BIOS (FFFF5H) La fecha de su ROM BIOS inicia en la localidad FFFF5H, registrada como mm/dd/aa. Para ver teclear: D FFFF:5 [Enter] El conocimiento de esta fecha es u´ til para determinar la edad y modelo de la computadora

3.7. Guardar un programa Uso del comando W. Suponiendo que el programa se encuentre en la memoria de la PC, los pasos para guardar un programa son: 1. Determinar la longitud del programa, restando la direccion final de la direccion inicial. La longitud se expresa en hexadecimal 2. Crear un nombre para el programa, incluyendo el directorio y la extensi´on. 3. poner la longitud del programa en el registro CX 4. Dar la orden de escritura Ejemplo: 2343:0100 MOV AX,4 2343:0103 MOV BX,2 2343:0106 ADD AX,BX 2343:0108 INT 20 2343:010A -H 10A 100 (paso 1) 020A 000A (resultado de la operaci´on) -N C:EJEM1.COM (paso 2) -R CX (despliega el contenido del registro CX) CX 0000 (contenido del registro CX) :000A (paso 3) -W (paso 4) Writing 000A bytes (escribe la cantidad de bytes en el registro CX)

3.8. Cargar un archivo a la memoria Uso del comando N, los pasos para cargar un archivo son: 1. Escribir el nombre del programa que se cargar´a 4

2. Cargar el Programa con el comando (L)oad 3. Verificar que se a cargado el programa, desensamblando a partir de la localidad 100H Ejemplo: -N C:EJEM1.COM -L -U 100 L 9 2357:0100 B80400 2357:0103 BB0200 2357:0106 01D8 2357:0108 CD20

(nombre del programa a cargar) (comando Load) (verifica que se cargo el programa) MOV AX,0004 MOV BX,0002 ADD AX,BX INT 20

´ 3.9. Programa para Imprimir los siguientes numeros: -0-1-2-3-4-5-6-7-8-9 -A 100 XXXX:0100 XXXX:0102 XXXX:0104 XXXX:0106 XXXX:0108 XXXX:010A XXXX:010C XXXX:010F XXXX:0111 XXXX:0113 XXXX:0115 XXXX:0117

MOV AH,2 MOV CL,A MOV BL,0 MOV DL,2D INT 21 MOV DL,BL ADD DL,30 INT 21 INC BL LOOP 106 INT 20

-R IP IP:0100 : -G 1. Graba el programa -H -N -R

117 XXX PNUMERO CX CX :XXX

100 YYYY

-W 2. Carga el programa PNUMERO DEBUG -L -U

5

PNUMERO 100 L XXXX

3.10. Programa para desplegar la siguiente frase: “HOLA ASSEMBLER” -E 100 -A 110

’HOLA ASSEMBLER $’ XXXX:0100 XXXX:0102 XXXX:0106 XXXX:0117 XXXX:119

MOV DX,100 MOV AH,9 INT 21 INT 20

-R IP IP:0100 :110 -G

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.