Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROPROCESADORES Y MICROCONTROLADORES
Práctica 2.1
Autor:
Pantusin Chiluisa Fernando Javier
Docente:
Ing. Amparo Meythaler
NRC: 7803
1) OBJETIVOS
- Identificar la interface y opciones básicas del Emulador EMU86.
- Realizar una aplicación que permita realizar un corrido en pasos de las instrucciones
de la fábrica INTEL en el Emulador EMU86.
2) MARCO TEORICO
INTERRUPCION INT 21H
La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a
través de la interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-
APPLICATION-PROGRAM-INTERFACE La INT 21H está compuesta por un grupo
de funciones. Cuando se accede a la INT 21H, hay que indicar el número de función
que queremos ejecutar. La llamada a la INT 21H se realizará como sigue:
- Introducimos en (AH) el número de función a la que deseamos acceder.
- En caso de que deseemos acceder a una sub-función dentro de una función,
debemos indicarlo introduciendo en (AL) el número de esa sub-función.
- Llamar a la INT 21H.
3) EQUIPOS Y MATERIALES
a) Investigue para qué sirven las interrupciones INT 16H y la INT 10H.
INT 16H: La INT 16H del BIOS proporciona la operación básica del BIOS para el
teclado para aceptar caracteres desde el búfer del teclado. Para una tecla de carácter, la
operación envía el carácter al AL y el código de rastreo de la tecla al AH. Para una tecla
de función extendida, la operación envía cero al AL y el código de rastreo al AH.
4.2) Desarrollo
- Código:
;MENSAJE
.model small
.stack 100h
.data
texto db 'Mi nombre es: Fernando Pantusin$' ; 10,10,13, POSICION ABAJO
.code
MOV AX,@DATA
MOV DS, AX
LEA DX,texto
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
END
c) Repita los pasos anteriores para un programa que reciba dos números y presente
como resultado el mayor, sin considerar el signo. Nota: Presente dos capturas, una
para cada caso posible.
- Código:
;COMPARADOR
.model small
.stack 64
.data
mov ah, 09
lea dx, msjn2
int 21h
mov ah, 01
int 21h
sub al, 30h
mov numero2,al
;operacion
;COMPARACION
mov al, numero1
mov ah, numero2
cmp al,ah
jna caso2
CIERRE:
;cierre del programa
mov ah,4ch
int 21h
begin endp
endHLT
- Resultado:
Caso 1:
5) RESULTADOS
• Anote los errores que cometió (si los tuvo). Y la forma en que lo solucionó.
El único problema que tuve fue colocar mal un salto, ya que el texto salía “El número
mayor es:” y me indicaba el valor del número menor. Por consiguiente, coloqué
correctamente el salto lo que resolvió el problema.
• Consulte para qué se pone al inicio de los programas: model, stack, data y code.
Directiva .MODEL:
Crea segmentos por omisión y los enunciados ASSUME y GROUP necesarios. Su
formato general es:
.MODEL modelo-memoria
La directiva .MODEL define el tipo de memoria que se utilizará.
Directiva .STACK
Define el segmento de pila. Su formato general es:
.STACK [tamaño]
El tamaño por omisión de la pila es de 1,024 bytes, que puede pasar por alto.
Directiva .DATA
definen segmentos de datos. .DATA define un segmento para inicializar datos cercanos,
para un programa en ensamblador autónomo, también puede definir datos cercanos no
inicializados en un segmento .DATA.
Directiva .CODE
define el segmento de código. Su formato general es:
.CODE [nombre]
Todo código ejecutable debe ser colocado en este segmento.
6) CONCLUSIONES
- Las interrupciones nos permiten detener un programa determinada para cambiar,
ingresar un dato entre otras intrucciones.
- Las interrupciones nos permiten ya relacionar la memoria y la unidad de control
con la interfaz, en este caso el teclado y la pantalla donde muestra el resultado.
- Las interrupciones tienen ya establecidos un conjunto de instrucciones.
- Las directivas nos establecen con que registros vamos a trabajar y que intrucciones
(escribir texto, ingresar texto) podemos realizar en el programa.
7) RECOMENDACIONES
- Verificar previamente como se trabaja con cada interrupción para poder saber que
interfaces podemos usar.
- Colocar los valores correctos y registros a usar dados por la interrupción y la
directiva
- Emular más de una vez el programa con diferentes resultados para poder corroborar
el funcionamiento correcto del mismo.
8) BIBLIOGRAFIA/LINKOGRAFÍA