8086
8086
8086
ARMADAS – ESPE.
Departamento de Eléctrica y Electrónica.
MICROPROCESADORES
NRC: 2679
Nombre:
José Luis Pallo
– 2018 –
1. TEMA
Suma de dos números decimales, emu8086.
2. OBJETIVOS
Objetivo General
Desarrollar un código que permita sumar dos números decimales en lenguaje ensamblador
mediante la utilización del software emu8086.
Objetivos específicos
Familiarizarse con la utilización del set de instrucciones que posee el
microprocesador 8086 mediante la realización de códigos específicos.
Conocer los cambios que producen las diferentes instrucciones en cada uno de los
registros que posee el microprocesador 8086.
3. PROBLEMA
Se desea realizar un código que permita sumar dos dígitos decimales en lenguaje
ensamblador y verificar los valores existentes en cada uno de los registros. Se debe tener
en cuenta que el máximo valor de dicha suma será 18.
4. CODIGO
El código realiza la suma de dos números decimales (0,..,9), utilizando las diferentes
instrucciones disponibles para el micro 80806.
Se ha utilizado las funciones 01H y 02H de la interrupción 21H para el ingreso y salida
de los operandos de la suma respectivamente, además se permitirá visualizar la operación
en el dispositivo de salida estándar (pantalla).
Cada instrucción utilizada cumple una determinada función para permitir que los
operandos ingresados, así como el resultado sean los correctos.
org 100h
ret
5. VERIFICACIÓN
Mediante la Tabla 1 se verifica los valores que contiene cada uno del registro al ejecutar
las instrucciones del código presentado anteriormente.
9+8=17
Tabla 1:Verificacion de los registros.
AX BX CX DX IP SP CS,SS,DS,ES BP,SI,DI
2 MOV AH,01 0100 H 0000 H 0034 H 0000 H 0102 H FFFE H 0700 H 0000 H
2 INT 21H 0139 H 0000 H 0034 H 0000 H 0104 H FFFE H 0700 H 0000 H
2 MOV DL,2BH 0109 H 0000 H 0034 H 002B H 0108 H FFFC H 0700 H 0000 H
2 MOV AH,02 0209 H 0000 H 0034 H 002B H 010A H FFFC H 0700 H 0000 H
2 INT 21H 022B H 0000 H 0034 H 002B H 010C H FFFC H 0700 H 0000 H
2 MOV AH,01 012B H 0000 H 0034 H 002B H 010E H FFFC H 0700 H 0000 H
2 INT 21H 0138 H 0000 H 0034 H 002B H 0110 H FFFC H 0700 H 0000 H
2 MOV AH,00H 0008 H 0109 H 0034 H 002B H 0114 H FFFE H 0700 H 0000 H
2 ADD AL,BL 0011 H 0109 H 0034 H 002B H 0116 H FFFE H 0700 H 0000 H
2 MOV DL,3DH 0107 H 0109 H 0034 H 003D H 011A H FFFC H 0700 H 0000 H
2 MOV AH,02 0207 H 0109 H 0034 H 003D H 011C H FFFC H 0700 H 0000 H
2 INT 21H 023D H 0109 H 0034 H 003D H 011E H FFFC H 0700 H 0000 H
2 MOV BL,DL 023D H 0107 H 0034 H 0107 H 0121 H FFFE H 0700 H 0000 H
2 MOV DL,DH 023D H 0107 H 0034 H 0101 H 0123 H FFFE H 0700 H 0000 H
3 ADD DL,30H 023D H 0107 H 0034 H 0131 H 0126 H FFFE H 0700 H 0000 H
2 MOV AH,02 023D H 0107 H 0034 H 0131 H 0128 H FFFE H 0700 H 0000 H
2 INT 21H 0231 H 0107 H 0034 H 0131 H 012A H FFFE H 0700 H 0000 H
2 MOV DL,BL 0231 H 0107 H 0034 H 0107 H 012C H FFFE H 0700 H 0000 H
3 ADD DL,30H 0231 H 0107 H 0034 H 0137 H 012F H FFFE H 0700 H 0000 H
2 MOV AH,02 0231 H 0107 H 0034 H 0137 H 0131 H FFFE H 0700 H 0000 H
2 INT 21H 0237 H 0107 H 0034 H 0137 H 0133 H FFFE H 0700 H 0000 H
6. EJECUCIÓN
En las Figuras 1, 2 y 3 siguientes se observa el funcionamiento del programa, además se
aprecia el funcionamiento de la interrupción 21H.
Mediante la función 01H se ha ingresado los valores a sumarse y mediante la función 02H
se ha podido visualizar en pantalla los signos +, = y la respuesta de la operación.
8. BIBLIOGRAFIA
EMU8086. (14 de junio de 2018). EMU8086, MICROPROCESSOR EMULATOR. Obtenido de
EMU8086, MICROPROCESSOR EMULATOR: file:///C:/emu8086/documentation/index.html