You are on page 1of 6

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

Facultad de Ingeniera de Produccin y Servicios


Escuela Profesional De Ingeniera Electrnica

Curso

: Arquitectura de Computadoras

Docente

: Ing. Erasmo Sulla Espinoza

Alumnos

: Charca Morocco Hernn 20100040


Torreblanca monzon Antonio

Arequipa 2015
1.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:

0140

09

0142

06

0144

02

0146

03

0148

07

El programa ser el siguiente:

XOR
XOR
MOV
MOV
MOV
MOV
MOV
CLC
ADC
ADC
ADC
ADC
ADC
MOV
MOV
DIV
MOV
INT

AX,AX
BX,BX
[0140h],0X03
[0142h],0X03
[0144h],0X03
[0146h],0X03
[0148h],0X03
AX,[0140h]
AX,[0142h]
AX,[0144h]
AX,[0146h]
AX,[0148h]
[014Ah],AX
BL,05
BL
[014Ch],AX
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:

XOR BX,BX
XOR CX,CX
XOR DX,DX
CLC
MOV
MOV
MOV
MOV
MOV

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

todo:
XOR BX,BX
XOR CX,CX
XOR DX,DX
MOV BX,[130h]
MOV CX,[132h]
CMP BX,CX
JNL ORDENAR1
uno:
MOV [130h],BX
MOV [132h],CX

0100

06

0102

02

0104

01

0106

05

0108

04

MOV CX,[134h]
CMP BX,CX
JNL ORDENAR2
dos:
MOV [132h],BX
MOV [134h],CX
MOV BX,[134h]
MOV CX,[136h]
CMP BX,CX
JNL ORDENAR3
tres:
MOV [134h],BX
MOV [136h],CX
MOV BX,[136h]
MOV CX,[138h]
CMP BX,CX
JNL ORDENAR4
cuatro:
MOV [136h],BX
MOV [138h],CX

MOV DX,BX
MOV BX,CX
MOV CX,DX
jmp uno
ORDENAR2:
MOV DX,BX
MOV BX,CX
MOV CX,DX
jmp dos
ORDENAR3:
MOV DX,BX
MOV BX,CX
MOV CX,DX
jmp tres
ORDENAR4:
MOV DX,BX
MOV BX,CX
MOV CX,DX
jmp cuatro

loop todo
INT 21

MOV BX,[132h]

ORDENAR1:

Luego procedemos a presionar el boton


run para ver el resultado de la
simulacion:

Obteniendo el resultado deseado en


sus respectivas direcciones.

You might also like