Practica de Captura Por Teclado y Mensajes

download Practica de Captura Por Teclado y Mensajes

If you can't read please download the document

Transcript of Practica de Captura Por Teclado y Mensajes

Objetivos:Analizar el proceso de captura de informacin por teclado

Analizar el proceso para mostrar mensajes

Utilizar interrupciones de software para mostrar informacin en pantalla y leer informacin del teclado

Escribir programas en lenguaje ensamblador del MSX88

Analizar el flujo de informacin entre los componentes del CPU

Definicin de variables de datosSe pueden almacenar variables en la memoria principal, las variables pueden tener diferente longitudDBDato tipo ByteDWDato tipo Word (2 Bytes)

La sintaxis para almacenar variables en memoria es:NombreDB Microcomputadoras NumeroDW 34h

En el caso de la variable nombre, se define como tipo Byte y almacena en la memoria principal la cadena de caracteres -- Microcomputadoras -- , cada carcter se almacena como un byte, es decir ocupa una localidad de memoria y en esa localidad de memoria se almacena el valor ASCII de la letra en cuestin

En el caso de la variable Nmero, esta es de tipo Word (2 Bytes) y se almacena el nmero 34h utilizando 2 posiciones de memoria, quedando el valor 3400 al guardarse como little endian.

Desarrollo de la prcticaEjercicio #1. Escritura de datos en pantallaPara poder mostrar datos en la pantalla de comandos del MSX88 debemos primero definir la informacin en el segmento de datos y posteriormente mostrarla por medio de la interrupcin de software INT 7, captura el siguiente cdigo en un programa con nombre muestra.asm

ORG 1000HMENDB 'Microcomputadoras--'DB ' Ingenieria en Sistemas Computacionales--'DB ' UNITEC Atizapan--'FINDB ?

ORG 2000HMOV BX, OFFSET MENMOV AL,OFFSET FIN-OFFSET MENINT 7HLTEND

Anlisis del cdigo anteriorEn BX se almacena el valor de la posicin de memoria donde inicia la variable MEN

En AL se almacena el valor del numero de caracteres que tiene la cadena MEN

INT 7, utiliza los valores contenidos en BX y AL para mostrar la cadena en el monitor

Al ejecutarse la INT 7, se almacenan en la pila el valor del registro de banderas y el valor del registro IP

Ensambla y liga el programa para generar el archivo muestra.eje

Ejecuta el programa muestra .eje en el software MSX88 y verifica su correcta operacin

Indica a continuacin cual es el cdigo ASCII de los siguientes caracteresM: 4D

s: 73

U: 20

: 2D

C: 45

Modifica el programa para que muestre tu nombre al final de la lnea UNITEC Atizapn, identifica a continuacin cuales son los caracteres ASCII de las letras que componen tu nombre.

6E 20 4A 55 41 4E

Ejercicio #2. Lectura de datos por medio del tecladoPara leer datos desde el teclado se utilizara la instruccin INT 6, esta instruccin al ejecutarse solicita que se oprima una tecla y el valor ASCII de la tecla activada se almacena en el registro AL, captura el siguiente cdigo en un programa con nombre leer.asm

ORG1000HMENDB 'Microcomputadoras -- 'DB ' UNITEC Atizapan -- 'DB 'Ingenieria en Sistemas Computacionales --'DB ' CAPTURA UN NUMERO: 'FINDB ?

ORG 1500HNUMDB ?

ORG 2000HMOV BX,OFFSET MENMOV AL,OFFSET FIN-OFFSET MENINT 7MOV BX,OFFSET NUMINT 6MOV AL,1INT 7MOV CL,NUMHLTEND

Anlisis del cdigo anteriorEn la localidad de memoria 1500h se define la variable NUM de tipo Byte

En BX se almacena el valor de la posicin de memoria donde inicia la variable MEN

En AL se almacena el valor del numero de caracteres que tiene la cadena MEN

INT 7, utiliza los valores contenidos en BX y AL para mostrar la cadena en el monitor

Al ejecutarse la INT 7, se almacenan en la pila el valor del registro de banderas y el valor del registro IP

Ahora se usa BX para almacenar el valor de la posicin de memoria donde inicia la variable NUM

Al ejecutarse la INT 6, se almacenan en la pila el valor del registro de banderas y el valor del registro IP, esta instruccin solicita se oprima una tecla, el valor ASCII de la tecla activada se guarda en la localidad de memoria referenciada por BX, en este caso 1500h

Se guarda en Al el valor 1 para indicar la longitud de la cadena a mostrar en pantalla por medio de la instruccin INT 7

Finalmente se copia el valor de la variable NUM en el registro CL

Ensambla y liga el programa para generar el archivo muestra.eje

Ejecuta el programa muestra .eje en el software MSX88 y verifica su correcta operacin

Explica cmo opera una interrupcin de software

Explica para que utilizan el registro BX las instrucciones INT 7 e INT 6

Explica para que se utiliza la pila de registros en este programa

Explica porque al final de la ejecucin de la interrupcin de software se recupera la informacin que se almaceno en la pila de registros.

Ejercicio #3. Lectura de datos por medio del teclado en el programa de multiplicacin de dos valores positivosModifica el programa que creaste del programa para multiplicar 2 nmeros enteros positivos (practica anterior) para que permita la captura por teclado de los nmeros a utilizar en la rutina de multiplicacin.

Considera que el valor ASCII de los nmeros capturados no coincide con su valor numrico real, por lo que debes realizar su conversin antes de proceder a utilizarlos en la rutina de multiplicacin

Certifica que el programa opere en forma correcta

Ejercicio #4. Lectura de datos por medio del teclado en el programa de divisin de dos valores positivosModifica el cdigo del programa para dividir 2 nmeros enteros positivos, para que permita la captura por teclado de los nmeros a utilizar en la rutina de divisin.

Certifica que el programa opere en forma correcta

Ejercicio #5. Analizar el funcionamiento del siguiente programa

ORG 2000HMOV CX,0MOV AX,3CALL CICLOHLTEND

ORG 3000HCICLO:CMP AX,0JZ FINADD CX,AXDEC AXCALL CICLOFIN:RET

Explica que hace el programa

Que representa el valor final de CX?

Modifica el programa para que el valor inicial de AX en la seccin de ORG 2000H, se capture por teclado

Captura por teclado y mensajes