ejercicios emu8086.docx

7
UNIVERSIDAD NACIONAL DE SAN AGUSTIN Facultad de Ingeniería de Producción Ser!icio" E"cuela Pro#e"ional De Ingeniería Electrónica Curso : Ar$uitectura de Co%&utadora" Docente : Ing. Erasmo Sulla Espinoza Alumnos : C'arca (orocco )ern*n +,-,,,., Torre/lanca %on0on Antonio Arequipa 2015 1.1.Programa 1

Transcript of ejercicios emu8086.docx

UNIVERSIDAD NACIONAL DE SAN AGUSTINFacultad de Ingeniera de Produccin y ServiciosEscuela Profesional De Ingeniera Electrnica

Curso: Arquitectura de Computadoras Docente: Ing. Erasmo Sulla EspinozaAlumnos: Charca Morocco Hernn 20100040Torreblanca monzon Antonio

Arequipa 20151.1. Programa 1

SUMA Y PROMEDIO DE 5 NMEROS (2 Bytes) Los sumandos se guardan a partir de la direccin 0100 hasta la direccin 0108, pero separados por una direccin, es decir un sumando va en 0100, el otro en 0102, y as sucesivamente. El valor de la suma se guardar en el registro [0100: 014Ah] despus de haberse ejecutado el programa. Posteriormente en la direccin [0100: 014Ch] se guardara el valor del promedio se guardar.xxxx: 014009

014206

014402

014603

014807

El programa ser el siguiente:XOR AX,AXXOR BX,BXMOV [0140h],0X03MOV [0142h],0X03MOV [0144h],0X03MOV [0146h],0X03MOV [0148h],0X03CLCADC AX,[0140h]ADC AX,[0142h]ADC AX,[0144h]ADC AX,[0146h]ADC AX,[0148h]MOV [014Ah],AXMOV BL,05DIV BLMOV [014Ch],AXINT 21h

Abrimos el software emu8086, escribimos el cdigo del programa y damos click en el botn emulate.

A continuacion usando el boton Single step ejecutamos el programa paso a paso para finalmente obtener los resultados en las respectivas direcciones:

Los resultados se obtuvieron correctamente, terminando el programa con una interrupcion.

1.2. Programa 2

ORDENAMIENTO DE 5 NMEROS El siguiente programa realiza el ordenamiento de menor a mayor respecto a la direccin de su localizacin, de 5 nmeros. El algoritmo utilizado es descrito de la siguiente manera:Despus de haber cargado los valores respectivos en memoria: Se inicializan los registros BX, SI y CX Se carga en el Stack los valores inicializados de CX y SI Se inicia la secuencia de ordenamiento Se comparan nmeros: el primero con el segundo y si el segundo es mayor, se realiza un cambio de posicin, en caso contrario se sigue con el tercero Cuando ya termino de evaluar una vez (una pasada), se cambia el valor del registro CX, para que se ajuste a la siguiente pasada, en donde se realiza 1 comparacin menos, debido a que ya no se compara el primer numero Se realiza una ltima comparacin (tercer y cuarto numero). Con esto quedan ordenados los 4 nmeros, de menor a mayor.

xxxx: 010006

010202

010401

010605

010804

XOR BX,BXXOR CX,CXXOR DX,DX

CLC

MOV [130h],8MOV [132h],6MOV [134h],4MOV [136h],1MOV [138h],7

todo:XOR BX,BXXOR CX,CXXOR DX,DX

MOV BX,[130h]MOV CX,[132h]CMP BX,CXJNL ORDENAR1uno:MOV [130h],BXMOV [132h],CX

MOV BX,[132h]MOV CX,[134h]CMP BX,CXJNL ORDENAR2 dos:MOV [132h],BXMOV [134h],CX

MOV BX,[134h]MOV CX,[136h]CMP BX,CXJNL ORDENAR3tres: MOV [134h],BXMOV [136h],CX

MOV BX,[136h]MOV CX,[138h]CMP BX,CXJNL ORDENAR4cuatro:MOV [136h],BXMOV [138h],CX

loop todo

ORDENAR1:MOV DX,BXMOV BX,CXMOV CX,DXjmp uno

ORDENAR2:MOV DX,BXMOV BX,CXMOV CX,DXjmp dos

ORDENAR3:MOV DX,BXMOV BX,CXMOV CX,DXjmp tres

ORDENAR4:MOV DX,BXMOV BX,CXMOV CX,DXjmp cuatro

INT 21

Luego procedemos a presionar el boton run para ver el resultado de la simulacion:

Obteniendo el resultado deseado en sus respectivas direcciones.