Sei sulla pagina 1di 10

REGISTROS DEL MICROPROCESADOR 8088 COMO VARIABLES 1. OBJETIVO 1.1.

Almacenar datos en los registros de propsito general del 8088. 2. EQUIPOS A UTILIZAR 2.1. Una computadora personal con el programa de acceso al smbolo de sistema 2.2. El aplicativo debug 3. PROCEDIMIENTO 3.1 Ingresar al smbolo de sistema y activar la aplicacin debug 3.2 Escribimos el comando R para ver el contenido de los registros del 8088.

3.3 Observamos los registros AX, BX, CX y DX cuyos contenidos son en todos los casos 0000. Estos son registros de propsito general. Los registros SP, BP, SI, DI, DS, ES, SS, CS e IP son de uso especial. 3.4 El nmero que va a continuacin del registro esta en notacin hexadecimal lo que significa que tendr 16 bits de cdigo binario. 3.5 Si escribimos R y luego el nombre de un registro, esto le dice a debug que deseamos ver el registro y luego cambiarlo. Escribimos luego el numero hexadecimal 3A7 y tecleamos Enter.

3.6 Ahora escribimos R nuevamente y veremos que el contenido de AX ha cambiado y ahora es 3A7.

3.7 Como se puede ver el comando R permite ingresar datos en los registros del 8088. 4. PREGUNTAS 4.1 Cmo se podra guardar el nmero 92A en el registro BX? 4.2 Si se guarda 3A7 en AX y 92A en BX cmo podramos sumar ambos nmeros? 4.3 Utilice el comando H para sumar dos nmeros hexadecimales usando la siguiente sintaxis: - H numero1 numero2. 4.4 Pruebe que la suma y la resta de 3A7 y 92A dan como resultado 0CD1 y FA7D.

5. CONCLUSIONES 5.1 A que conclusiones llega despus de utilizar el comando H? 5.2 Investigue una manera diferente de sumar ambos nmeros. 6. BIBLIOGRAFIA 6.1 Los microprocesadores INTEL Barry B. Brey

SUMA Y RESTA CON EL MICROPROCESADOR 8088 1. OBJETIVO 1.1 Utilizar cdigos hexadecimales para realizar las instrucciones de suma y resta en el microprocesador 8088. 2. EQUIPOS A UTILIZAR 2.1 Computadora personal 2.2 Debug 3. PROCEDIMIENTO 3.1 Almacenamos los nmeros 3A7 en AX y 92A en BX

3.2 Para hacer la suma de ambos nmeros debemos poner algunos nmeros en la memoria del computador. Estos nmeros le dirn al microprocesador que sume ambos nmeros. 3.3 La instruccin que realiza la suma es ADD AX, BX y su equivalente en cdigo hexadecimal es 01D8. 3.4 Vamos a usar ahora el comando E para examinar y cambiar la memoria e iniciaremos el ingreso de la instruccin de suma desde la posicin 0100. Para ello escribimos E 0100 y tecleamos enter con lo que aparece un par de dgitos hexadecimales que vamos a cambiar por el valor 01 escribiendo dichos dgitos. En seguida nos ubicamos en la posicin 0101 y para ello escribimos E 0101 y tecleamos enter con lo que aparecen dos dgitos hexadecimales mas que cambiaremos por el valor D8 tecleando dichos dgitos. Finalmente tecleamos R para ver el contenido de los registros

3.5 La tercera lnea nos muestra la instruccin ADD AX, BX y su equivalente 01D8. Ahora vamos a ejecutar la instruccin ADD AX, BX y para ello usaremos el comando T que rastrea lnea por lnea lo que se va a ejecutar y muestra en seguida el contenido de los registros.

3.6 Se observa que el registro AX tiene el valor CD1 que resulta ser la suma de 3A7 ms 92A. Podramos seguir sumando los dos registros y almacenar el nuevo resultado en AX. 3.7 Como debemos ejecutar nuevamente la instruccin ADD AX, BX entonces debemos usar el registro IP que es un registro que almacena la posicin de memoria donde est la instruccin de suma. Escribimos R IP y tecleamos enter para guardar en l la direccin 0100 nuevamente y ejecutar de nuevo la suma. Escribimos 0100 en IP y tecleamos enter. 3.8 Ahora si podremos ejecutar el comando T para realizar la suma nuevamente y veremos cul es el resultado

3.8 El registro AX contiene ahora 15FB que result de sumar 0CD1 y 092A. 4 PREGUNTAS 4.1 Teniendo en AX el valor 15FB y 092A en BX Cmo hara la resta si el cdigo de la instruccin es SUB AX, BX y su equivalente hexadecimal es 29D8? 5 CONCLUSIONES 5.1 Qu conclusiones puede sacar de esta experiencia?

6. BIBLIOGRAFIA 6.1 Los microprocesadores INTEL Barry B. Brey

MULTIPLICACION Y DIVISION CON EL MICROPROCESADOR 8088 1. OBJETIVO 1.1 Utilizar cdigos hexadecimales para realizar las instrucciones de multiplicacin y divisin en el microprocesador 8088. 2. EQUIPOS A UTILIZAR 2.2 Una computadora personal con el programa de acceso al smbolo de sistema 2.3 El aplicativo debug 3. PROCEDIMIENTO 3.1 Almacenamos los nmeros 7C4B en AX y 100 en BX. 3.2 La instruccin de multiplicacin es MUL BX y su equivalente hexadecimal es F7E3. En este caso la instruccin no hace ninguna referencia al registro AX pero la manera de hacer la multiplicacin es que el 8088 multiplica siempre el registro AX por el registro que se indica en la instruccin. El resultado se almacena en la pareja de registros DX: AX. 3.3 Si hacemos las multiplicacin manualmente vemos que el resultado es: 100*7C4B = 7C4B00. Este resultado es muy grande y como no se puede almacenar en un solo registro es necesario separarlo en dos partes: 007C y 4B00. Si ejecutamos la instruccin veremos lo que pasa en la pantalla

3.4 Aqu notamos que DX contiene 007C y AX contiene 4B00 con lo que se confirma que el resultado de una multiplicacin se almacena en la pareja de registros DX: AX. 4. PREGUNTAS 4.1 Cmo ser la divisin? Pruebe la instruccin DIV BX cuyo cdigo equivalente es F7F3. 4.2 Dividir 7C4B12 entre 0100. Al hacer la operacin manual obtendr 7C4B12/0100 = 7C4B con un resto de 12. Use los registros DX y AX para almacenar 7C4B12 y BX para almacenar 0100. Verifique los resultados. 5. CONCLUSIONES 5.1 Qu conclusiones puede obtener de la operacin de divisin y el contenido de los registros cuando ejecuta esta operacin? 6. BIBLIOGRAFIA 6.1 Los microprocesadores INTEL Barry B. Brey

IMPRESIN DE CARACTERES CON EL MICROPROCESADOR 8088 1. OBJETIVO 1.1 Imprimir un carcter en la pantalla de un monitor 2. EQUIPOS A UTILIZAR 2.1. Computadora personal 2.2. Aplicacin debug 3. PROCEDIMIENTO 3.1 Usaremos ahora una nueva instruccin denominada INT (interrupcin). Esta instruccin permitir imprimir un carcter determinado en la pantalla. 3.2 Vamos a guardar el nmero 5A en el registro DX y cargamos tambin el nmero 0200 en el registro AX. Ahora empleamos la instruccin INT 21 que es una instruccin de las funciones del sistema operativo y su cdigo hexadecimal es CD21. Con estos datos vemos lo que pasa en la pantalla.

3.3 Se puede notar que AX contiene 0200 y DX contiene 005A y que adems la instruccin 21 est en memoria para ser ejecutada. 3.4 Cuando usamos la instruccin INT es necesario tener precaucin de no usar el comando T para ejecutar la rutina ; en su lugar podemos ejecutar el comando G (ir) seguido de un valor de direccin que nos permita ejecutar hasta la INT 21; en este caso es 0102 por lo tanto si ejecutamos la rutina veremos en pantalla lo siguiente:

3.5 El sistema operativo escribe en pantalla el carcter Z cuyo cdigo ASCII es 5A y luego devuelve el control a nuestro programa. 3.6 Cmo es que el sistema operativo imprime el carcter z? Al almacenar el valor 0200 en el registro AX, especficamente 02 en el registro AH el sistema operativo entiende que debe imprimir un carcter. Cualquier otro nmero almacenado en AH hara que el sistema operativo ejecute una funcin diferente.

4. PREGUNTAS 4.1 Que habra que modificar en el procedimiento para que el programa imprima una letra W? 4.2 Qu sucede si en lugar de utilizar el comando G seguido del valor de direccin adecuado usamos el comando T? Fundamente su respuesta. 5. CONCLUSIONES 5.1 A qu conclusin llega si se trata de analizar la diferencia entre el comando T y el comando G? 6. 6. BIBLIOGRAFIA 6.1 Los microprocesadores INTEL Barry B. Brey

LA INTERRUPCION DE SALIDA INT 20 Y LA TRANSFERENCIA ENTRE REGISTROS 1. OBJETIVO 1.1 Determinar la utilidad de la instruccin INT 20 1.2 Mover datos a registros 1.3 Escribir una cadena de caracteres 2. EQUIPOS A UTILIZAR 2.1 Aplicaciones debug y assembler del sistema operativo 2.2 Computadora personal 3. PROCEDIMIENTO 3.1 Ingresar al smbolo de sistema y activar la aplicacin debug. 3.2 La instruccin INT 20 es una instruccin que le indica al sistema operativo que deseamos salir del programa con lo que se devuelve el control al aplicativo debug 3.3 Iniciar en la posicin de memoria 0100 e introducir el cdigo CD20 3.4 Verificar la instruccin con el comando R.

3.5 Ahora ejecutar el comando G solamente sin ningn numero de direccin. Esto ejecuta todo el programa que consiste de la instruccin INT 20 y regresa el registro IP a su valor de 0100 que es donde se inicio la rutina.

3.6 Como se ve el mensaje de salida indica que el programa termino con toda normalidad. 3.7 Ahora creamos un programa con dos instrucciones como la INT 21 e INT 20 iniciando en la posicin 0100.

3.8 Para poder ver las dos instrucciones tenemos que usar un nuevo comando que es la letra U de unassemble (desensamblar).

3.9 Las dos instrucciones ingresadas por teclado se pueden ver ahora y adems otras adicionales que pertenecen a algn programa mas no a nuestra rutina. 3.10 Ahora ingresaremos el cdigo ASCII de un carcter y lo imprimiremos como en la gua de prcticas numero 4. Para esto ingresamos el nmero 02 en el registro AH e ingresamos el nmero 50 que corresponde al carcter P y vemos el resultado en pantalla ejecutando la rutina con el comando G.

3.11 La rutina imprimi la letra P y el programa termino normalmente. Ahora vamos a escribir programas de una manera ms directa utilizando el ensamblador que tiene el aplicativo debug. Para esto escribimos el comando A de Assembler y escribimos INT 21 e INT 20 a continuacin; luego tecleamos enter hasta que aparezca el guion indicador del debug. Con esto podemos ver que es ms sencillo escribir rutinas con el comando A. 3.12 Normalmente un programa asigna los registros AH y DL por si solo antes de una instruccin INT 21; para esto usaremos la instruccin MOV que permite cargar nmeros en los registros AH y DL. 3.13 Ponemos el nmero 1234 en el registro AX y ABCD en el registro DX. Con esto hemos almacenado 12 en el registro AH y 34 en el registro AL as como AB en el registro DH y CD en el registro DL. Escribimos Ahora MOV AH, DL para mover lo que contiene DL al registro AH y ejecutamos la rutina con el comando T.

3.14Como vemos ahora AH contiene CD que era lo que estaba almacenado en DL pero el contenido de DL no ha cambiado y sigue siendo CD. 4. PREGUNTAS 4.1 Restaure el contenido de IP a 0100 y pruebe la siguiente instruccin: MOV BH, AX. Que sucede con el contenido de BX? 4.2 Pruebe ahora con la siguiente instruccin: MOV AH, 02 Qu sucede con el contenido de AL? 4.3 Escriba ahora la siguiente rutina Cul es el resultado en pantalla? MOV AH, 02 MOV DL, 2A INT 21 INT 20 5. CONCLUSIONES 5.1 Qu puede concluir de la instruccin MOV BH,AX? 6. 6. BIBLIOGRAFIA 6.1 Los microprocesadores INTEL Barry B. Brey

Potrebbero piacerti anche