You are on page 1of 8

MEMORIA TÉCNICA

LABORATORIO #1
Asignatura – Arquitectura de Ordenadores
Docente ING. EDUARDO SUÁREZ
Carrera: INGENIERÍA EN INFORMÁTICA
Fecha: 08/10/2018
Hemisemestre: Setiembre – Noviembre 2018
Facultad Ingeniería Ciencias Físicas y Matemáticas
Universidad Central del Ecuador
Estudiante: PAUCAR MONTES IAN HENDRY
Cedula de identidad: 1722128590

DESCRIPCIÓN DEL PROGRAMA


include 'emu8086.inc' ;libreria necesaria para salto de linea
org 100h

.stack 64h

.data

msg db "Némero de cedula Ian Paucar,", 24h;mensajes que se llamaran despues


msg1 db "Introduce el numero:", 24h
msg2 db "Némero decimal:", 24h
salto db " ",10,13,24h
v1 db 0
v2 db 0
v3 db 0
v4 db 0
v5 db 0
v6 db 0
v7 db 0
v8 db 0
v9 db 0
vA db 0

.code

mov ax, @data ;Manda la instruccion que va a imprimir algo


mov ds, ax

mov dx, offset msg ;Llama a msg que es un mensaje


mov ah, 9
int 21h ;Funcion 21h subfuncion 9 que imprime en consola

printn "" ;salto de linea

mov dx, offset msg1 ;lo mismo con lo anterior pero con msg1 que es otro mensaje
mov ah, 9
int 21h
;----------------------------------

call leer1 ;llama y regresa despues de realizar la instruccion de leer el digito


call leer2
call leer3 ;lo mismo que lo anterior
call leer4
call leer5 ;lo mismo que lo anterior
call leer6 ;lo mismo que lo anterior
call leer7 ;lo mismo que lo anterior
call leer8 ;lo mismo que lo anterior
call leer9 ;lo mismo que lo anterior
call leerA ;lo mismo que lo anterior
call imprideci ;Imprime el numero introducido
call imprihexa ;no disponible
call impribina ;no disponible
call fin ;finaliza la ejecucion del programa

;----------------------------------

leer1 proc
mov ah,01h ;lee el primer digito
int 21h
sub al,30h ;resta 30h para obtener digito en si
mov v1,al ;mueve el resultado a v1 que es donde se guaradara definitivamente

leer1 endp

leer2 proc ;mismo razonamiento que leer 1


mov ah,01h
int 21h
sub al,30h
mov v2,al

leer2 endp

leer3 proc ;mismo razonamiento que leer 1


mov ah,01h
int 21h
sub al,30h
mov v3,al

leer3 endp

leer4 proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov v4,al

leer4 endp

leer5 proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov v5,al

leer5 endp

leer6 proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov v6,al
leer6 endp

leer7 proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov v7,al

leer7 endp

leer8 proc ;mismo razonamiento que leer 1


mov ah,01h
int 21h
sub al,30h
mov v8,al

leer8 endp

leer9 proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov v9,al

leer9 endp

leerA proc
mov ah,01h ;mismo razonamiento que leer 1
int 21h
sub al,30h
mov vA,al
printn ''
leerA endp

;----------------------------------

imprideci proc
;imprime mensaje de exito de registro
mov dx, offset msg2
mov ah, 9
int 21h
;imprime digito inroducido
mov dl,v1
add dl,30h
mov ah,02h
int 21h
;imprime digito 2
mov dl,v2
add dl,30h
mov ah,02h
int 21h
;imprime digito 3
mov dl,v3
add dl,30h
mov ah,02h
int 21h
;imprime digito 4
mov dl,v4
add dl,30h
mov ah,02h
int 21h
;imprime digito 5
mov dl,v5
add dl,30h
mov ah,02h
int 21h
;imprime digito 6
mov dl,v6
add dl,30h
mov ah,02h
int 21h
;imprime digito 7
mov dl,v7
add dl,30h
mov ah,02h
int 21h
;imprime digito 8
mov dl,v8
add dl,30h
mov ah,02h
int 21h
;imprime digito 9
mov dl,v9
add dl,30h
mov ah,02h
int 21h
;imprime digito 10
mov dl,vA
add dl,30h
mov ah,02h
int 21h

imprideci endp

;----------------------------------

imprihexa proc

imprihexa endp

;----------------------------------

impribina proc

impribina endp

;----------------------------------
fin proc
mov ah, 0
int 16h ;finaliza la ejecucion del programa
ret
fin endp
;--

You might also like