Manual Instalacion EMU8086

19
COMPILADORES MANUAL DE INSTALACIÓN DE EMU8086 QUINTO ESCUELA DE INGENIERÍA 03-Mayo-2016 Abril 2016 – Agosto 2016

Transcript of Manual Instalacion EMU8086

COMPILADORES

MANUAL DE INSTALACIÓN DE EMU8086

QUINTO

ESCUELA DE INGENIERÍA

03-Mayo-2016

Abril 2016 – Agosto 2016

MANUAL DE INSTALACIÓN DE EMU8086

El Emulador EMU8086 es el primer programa que se utiliza en el curso de

Microprocesadores que imparte la Universidad Don Bosco; se ha elegido este

emulador porque posee una interfaz de usuario muy amistosa que permite

familiarizarse con los fundamentos de la programación en lenguaje

ensamblador de forma muy intuitiva, aparte de eso brinda una serie de

recursos para ejecutar y depurar los programas. También tiene algunas

desventajas como el de no soportar algunas de las interrupciones más

interesantes que posee el sistema operativo y tampoco puede acceder a los

puertos físicos (reales), sino que los emula usando otros programas que ya

están incluidos en su respectiva carpeta.

Visitar la página http://emu8086.waxoo.com/ y proceder a la

descarga respectiva.

Ir a la ubicación de la descarga y ejecutar emu8086.exe.

Se despliega el asistente de instalación y darle siguiente a todo.

Interfaz de EMU8086

EJERCICIOS

Ejecutar el programa hola mundo, y debe cambiar los mensajes de pantalla al español.

Compilar un programa en EMU8086 que indique lo siguiente: Nombre completo del estudiante, Universidad, Fecha y materia.

CODIGO:

CODE SEGMENT

ASSUME CS:CODE, DS:CODE, SS:CODE, ES:CODE

ORG 100h

principio:

mov ah, 0Fh

mov ah, 0

int 10h

lea dx, mensaje_a_mostrar

mov ah, 9h

int 21h

int 20h

mensaje_a_mostrar db "Me llamo Zulay Limaico,Estudio en la PUCE-SI,

03/05/2016, COMPILADORES$",0

CODE ENDS

end principio

Compilar un programa que permita comparar 2 números del 0 al 9.

CÓDIGO:

.model small

.stack

.data

var1 db ?

var2 db ?

msg1 db '++ El primer num es mayor++ $'

msg2 db '++ El primer num es menor++ $'

msg3 db '++ Son iguales$'

msg4 db 'Ingrese el Primer Num. $'

msg5 db 'Ingrese el Segundo Num.$'

.code

.startup

mov ah,00h

mov al,03h

int 10h

mov ah,02h

mov dx,0510h

mov bh,0

int 10h

mov ah,09h

lea dx,msg4

int 21h

mov ah,07h

int 21h

mov ah, 02h

mov dl,al

int 21h

mov var1,al

mov ah,09h

lea dx,msg5

int 21h

mov ah,07h

int 21h

mov ah,02h

mov dl,al

int 21h

mov var2,al

cmp var1,al

ja mayor

jb menor

je igual

mayor:

mov ah,09h

lea dx,msg1

int 21h

jmp salir

menor:

mov ah,09h

lea dx,msg2

int 21h

jmp salir

igual:

mov ah,09h

lea dx,msg3

int 21h

jmp salir

salir:

.exit

end

Compilar un programa que permita sumar 10 valores asignados a un vector.

CODIGO:

org 100h

mov cx, 10

mov al, 0

mov bx, 0

next: add al, vector[bx]

inc bx

loop next

mov m, al

mov bl, m

mov cx, 8

print: mov ah, 2

mov dl, '0'

test bl, 10000000b

jz zero

mov dl, '1'

zero: int 21h

shl bl, 1

loop print

mov dl, 'b'

int 21h

mov dl, 0ah

int 21h

mov dl, 0dh

int 21h

mov al, m

call print_al

mov ah, 0

int 16h

ret

vector db 5, 4, 5, 2, 1, 6, 8, 1, 2, 7

m db 0

print_al proc

cmp al, 0

jne print_al_r

push ax

mov al, '0'

mov ah, 0eh

int 10h

pop ax

ret

print_al_r:

pusha

mov ah, 0

cmp ax, 0

je pn_done

mov dl, 10

div dl

call print_al_r

mov al, ah

add al, 30h

mov ah, 0eh

int 10h

jmp pn_done

pn_done:

popa

ret

end