Está en la página 1de 4

noma Metropolitana Universidad Auto

nica Departamento de Electro n de Ciencias Ba sicas e Ingenier Divisio a Mart Profesora Hilda Mar a Chable nez

Laboratorio de Sistemas Digitales con Microprocesadores Pr actica no. 1 Introducci on al MASM

M exico, D.F.

Septiembre 2012

1 Objetivos

1.

Objetivos

1. Familiarizarse con el lenguaje ensamblador MASM. 2. Aprender los pasos involucrados en el dise no e implementaci on de programas en ensamblador. 3. Analizar programas en lenguaje ensamblador.

2.

Desarrollo

1. Ejecutar el entrono de MASM (c:\Irvine\masm.bat) y capturar el siguiente c odigo: title Test Alphabetic Input (ISALPHA.ASM) .model small .stack 100h .code main proc mov ax,@data mov ds,ax L1: mov ah,1 int 21h call Isalpha jnz exit jmp L1 exit: mov ax,4C00h int 21h main endp ; input a character

; return to DOS

; Isalpha sets ZF = 1 if the character ; in AL is alphabetic. Isalpha proc push ax and al,11011111b cmp al,A jb B1 cmp al,Z

; save AX ; clear bit 5

3 Cuestionario

ja B1 test ax,0 B1: pop ax ret Isalpha endp end main

; ZF = 1 ; restore AX

2. Guarda el archivo con extensi on asm, por ejemplo practica1.asm. 3. Para ensamblar archivo fuente selecciona la opci on assemble del men u run. En caso de existir errores, estos deber an ser corregidos. Observa que por cada error se muestra el n umero de rengl on entre par entesis para facilitar la ubicaci on la instrucci on err onea, as mismo se proporciona una breve descripci on del error encontrado. 4. Para ligar el c odigo objeto utiliza la funci on link del men u run. 5. Para depuraci on del programa utiliza la funci on debug del men u run. 6. Ejecuta el programa. Para ello debes seleccionar del men u run la funci on run. 7. Juega un poco con el programa y descubre lo que hace. 8. Extienda el c odigo de este programa para que valide y acepte el ingreso de caracteres num ericos.

3.

Cuestionario

1. Que funci on realiza el programa de la pr actica 1 ? 2. Para qu e se utiliza la int 21h ? 3. Cu al es la estructura b asica de un programa en lenguaje ensamblador ? 4. Cu al es el proceso a seguir para ejecutar un programa en ensamblador ? 5. Qu e tipo de denici on de segmentos utiliz o en este programa ? 6. Qu e funci on tiene la siguiente linea and al,11011111b en el programa de esta pr actica ? 7. Qu e partes de c odigo fueron etiquetadas y por qu e? 8. C omo se termina un programa para regresar el control al sistema operativo ? 9. Identique el fragmento de c odigo con el cu al avis o al procesador la direcci on del segmento de datos ? 10. Para qu e se utiliza el debug?

3 Cuestionario

11. Describa c omo hizo la validaci on de caracteres num ericos como parte de la extensi on al programa original ? 12. Qu e instrucciones de tipo condicional utiliz o?