SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Pasos instalación EMU 806
El emu8086
El emu8086 es un emulador del microprocesador 8086 (Intel o
AMD compatible) con assembler integrado. A diferencia del
entorno de programación en assembler utilizado anteriormente
en la cátedra (MASM), este entorno corre sobre Windows y
cuenta con una interfaz gráfica muy amigable e intuitiva que
facilita el aprendizaje el leguaje de programación en assembler.
Dado que en un entorno emulado de microprocesador no es
posible implementar una interfaz real de entrada/salida, el
emu8086 permite interfacear con dispositivos virtuales y emular
una comunicación con el espacio de E/S. Para esto, el emu8086
cuenta con una serie de dispositivos virtuales preexistentes en el
software base, listos para ser utilizados, entre los que se
encuentran una impresora, un cruce de calles con semáforos, un
termómetro, un motor paso a paso, etc. No obstante, la cátedra
ha desarrollado dispositivos adicionales con características
particulares para la realización del segundo trabajo práctico.
Se muestra a continuación una tabla comparativa con las
diferencias entre el entorno de programación en assembler
Emu 8086
Microsoft Assembler (MASM
6.11)
Entorno educativo
Entorno para producción y
educativo.
Basado en Windows Basado en DOS
En forma nativa admite
dispositivos virtuales.
No admite dispositivos virtuales
en forma nativa
Set de instrucciones de
8086
Set de instrucciones del 8086,
80186/286/386/486
Directivas propias
adicionales
Directivas comunes con TASAM
(Borland Turbo Assembler)
Emula interrupciones por
Hw y Sw
No permite emular
interrupciones
utilizado anteriormente en la cátedra (MASM 6.11) y el nuevo
emu8086:
Codigo hola mundo
org 100h
; set video mode
mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3)
int 10h ; do it!
; cancel blinking and enable all 16 colors:
mov ax, 1003h
mov bx, 0
int 10h
; set segment register:
Emula el espacio de E/S
(instrucciones IN y OUT)
No permite emular el espacio de
E/S
Permite emular
interrupciones.
No permite emular intrrupciones.
Herramientas adicionales
para el debug
mov ax, 0b800h
mov ds, ax
; print "hello world"
; first byte is ascii code, second byte is color code.
mov [02h], 'H'
mov [04h], 'o'
mov [06h], 'l'
mov [08h], 'a'
mov [0ah], ','
mov [0ch], 'M'
mov [0eh], 'u'
mov [10h], 'n'
mov [12h], 'd'
mov [14h], 'o'
mov [16h], '!'
mov [18h], '!'
; color all characters:
mov cx, 12 ; number of characters.
mov di, 03h ; start from byte after 'h'
c: mov [di], 11101100b ; light red(1100) on yellow(1110)
add di, 2 ; skip over next ascii code in vga memory.
loop c
; wait for any key press:
mov ah, 0
int 16h
ret
Código Nombre Universidad Fecha Materia
.MODEL SMALL ;modelo pequeno de compilacion (64k
como maximo)
.STACK 100h ;Segmento de pila: Pila 256 posiciones
CR EQU 13 ;Declaracion de constantes
LF EQU 10
.DATA ;Comienzo del segmento de datos
TEXTO DB 'Diego Andres Pozo Andrade PUCE-SI
26/04/2016 Compiladores$',CR,LF ;Reserva de memoria
con retorno de carro e
;Inicio de linea, la variable TEXTO es de tipo
;byte,el simbolo $ es el simbolo de fin de cadena
.CODE ;Comienzo del segmento de código
MOV AX, SEG TEXTO ;Mueve a AX la direccion del primer
byte del
;segmento de datos
MOV DS,AX ;Mueve dicha direccion al segmento de datos
LEA DX,TEXTO ;Cargamos en DX la dirección efectiva del
texto
;que vamos a imprimir por pantalla
MOV AH,9 ;funcion "Escribir texto por pantalla"
INT 21h ;Llamada a DOS por medio de la interrupción
;para ejecutar la funcion
MOV AH,4ch ;funcion "Retornar a DOS"
INT 21h ;Interrupcion que llama a DOS para terminar el
;programa
END ;fin
Captura pantalla
Código comparar dos números
org 100h
mov ah, 4
mov al, 4
cmp ah, al
nop
; (signed/unsigned)
; 4 is above and greater then 3
mov ah, 4
mov al, 3
cmp ah, al
nop
; -5 = 251 = 0fbh
; (signed)
; 1 is greater then -5
mov ah, 1
mov al, -5
cmp ah, al
nop
; (unsigned)
; 1 is below 251
mov ah, 1
mov al, 251
cmp ah, al
nop
; (signed)
; -3 is less then -2
mov ah, -3
mov al, -2
cmp ah, al
nop
; (signed)
; -2 is greater then -3
mov ah, -2
mov al, -3
cmp ah, al
nop
; (unsigned)
; 255 is above 1
mov ah, 255
mov al, 1
cmp ah, al
nop
; now a little game:
game: mov dx, offset msg1
mov ah, 9
int 21h
; read character in al:
mov ah, 1
int 21h
cmp al, '0'
jb stop
cmp al, '9'
ja stop
cmp al, '6'
jb below
ja above
mov dx, offset equal_5
jmp print
below: mov dx, offset below_5
jmp print
above: mov dx, offset above_5
print: mov ah, 9
int 21h
jmp game ; loop.
stop: ret ; stop
msg1 db "ingrese un numero u otro caracter para salir: $"
equal_5 db " es seis! (igual)", 0Dh,0Ah, "$"
below_5 db " es menor que seis!" , 0Dh,0Ah, "$"
above_5 db " is mayor que seis!" , 0Dh,0Ah, "$"
Captura
Código suma 10 números
org 100h
; number of elements:
mov cx, 10
; al will store the sum:
mov al, 0
; bx is an index:
mov bx, 0
; sum elements:
next: add al, vector[bx]
; next byte:
inc bx
; loop until cx=0:
loop next
; store result in m:
mov m, al
; print result in binary:
mov bl, m
mov cx, 8
print: mov ah, 2 ; print function.
mov dl, '0'
test bl, 10000000b ; test first bit.
jz zero
mov dl, '1'
zero: int 21h
shl bl, 1
loop print
; print binary suffix:
mov dl, 'b'
int 21h
mov dl, 0ah ; new line.
int 21h
mov dl, 0dh ; carrige return.
int 21h
; print result in decimal:
mov al, m
call print_al
; wait for any key press:
mov ah, 0
int 16h
ret
; variables:
vector db 1, 2, 3, 4, 5, 6, 7, 8, 9, 6
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
endp
Captura
Código programa sugerido (Dibujar Diagonal)
mov cx,1
mov al, 13h
mov ah, 0
int 10h ; set graphics video mode.
bucle1:
mov dx, cx
mov al, color ;AL = pixel color
mov ah, 0ch ;Change color for a single pixel
int 10h ;set pixel
cmp cx, 101 ;llegar hasta 100 x 100 (va en diagonal)
jz fin
inc cx ;DX = row.
add color, 2 ;para cambiar colores
jmp bucle1 ;CX = column
fin:
ret
color db 1
Captura

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Programa Emu8086
Programa Emu8086Programa Emu8086
Programa Emu8086
 
Emulador de ensamblador EMU8086
 Emulador de ensamblador EMU8086 Emulador de ensamblador EMU8086
Emulador de ensamblador EMU8086
 
Strlen
StrlenStrlen
Strlen
 
tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4 tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4
 
Como instalar debian gnu
Como instalar debian gnuComo instalar debian gnu
Como instalar debian gnu
 
Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2
 
Practica 1 unidad 4
Practica 1 unidad 4Practica 1 unidad 4
Practica 1 unidad 4
 
codigos
codigoscodigos
codigos
 
La maquina virtual_paralela_pvm
La maquina virtual_paralela_pvmLa maquina virtual_paralela_pvm
La maquina virtual_paralela_pvm
 
iNDICE DE CONTENIDOS
iNDICE DE CONTENIDOSiNDICE DE CONTENIDOS
iNDICE DE CONTENIDOS
 
REDES INALAMBRICAS
REDES INALAMBRICASREDES INALAMBRICAS
REDES INALAMBRICAS
 
Introduccion a go
Introduccion a goIntroduccion a go
Introduccion a go
 
Strnset
StrnsetStrnset
Strnset
 
2 ex parcial_b_respuestas
2 ex parcial_b_respuestas2 ex parcial_b_respuestas
2 ex parcial_b_respuestas
 
Leccion04
Leccion04Leccion04
Leccion04
 
Dhcp defectto
Dhcp  defecttoDhcp  defectto
Dhcp defectto
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
6. RS232 interfaces ARDUINO - 2020
6. RS232 interfaces   ARDUINO - 20206. RS232 interfaces   ARDUINO - 2020
6. RS232 interfaces ARDUINO - 2020
 
Declaraciones
DeclaracionesDeclaraciones
Declaraciones
 

Similar a Instalación EMU 806 paso a paso

Similar a Instalación EMU 806 paso a paso (20)

EMU8086
EMU8086EMU8086
EMU8086
 
Emu 8086
Emu 8086Emu 8086
Emu 8086
 
Instalacion emu8086
Instalacion emu8086Instalacion emu8086
Instalacion emu8086
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChacon
 
Emulador de ensamblador emu8086
Emulador de ensamblador emu8086Emulador de ensamblador emu8086
Emulador de ensamblador emu8086
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Tut2q4
Tut2q4Tut2q4
Tut2q4
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
LiquidCrystal lcd.docx
LiquidCrystal lcd.docxLiquidCrystal lcd.docx
LiquidCrystal lcd.docx
 
Programas asm
Programas asmProgramas asm
Programas asm
 
LENGUAJE DE MAQUINA
LENGUAJE DE MAQUINALENGUAJE DE MAQUINA
LENGUAJE DE MAQUINA
 
Exposicion lenguaje de maquina 9 y 10
Exposicion lenguaje de maquina 9 y 10Exposicion lenguaje de maquina 9 y 10
Exposicion lenguaje de maquina 9 y 10
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
5.quinto ejercicio emu8086
5.quinto ejercicio emu80865.quinto ejercicio emu8086
5.quinto ejercicio emu8086
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
 
Codigos rapidos 3.0 inf-153- jose rivera
Codigos rapidos   3.0  inf-153- jose riveraCodigos rapidos   3.0  inf-153- jose rivera
Codigos rapidos 3.0 inf-153- jose rivera
 
Assembler
AssemblerAssembler
Assembler
 

Más de Andres Pozo

Taller n25 practica phishing
Taller n25 practica phishingTaller n25 practica phishing
Taller n25 practica phishingAndres Pozo
 
Instalacion Herramientas Practica
Instalacion Herramientas PracticaInstalacion Herramientas Practica
Instalacion Herramientas PracticaAndres Pozo
 
Análisis de Metadatos y Cookies de Navegación
Análisis de Metadatos y Cookies de NavegaciónAnálisis de Metadatos y Cookies de Navegación
Análisis de Metadatos y Cookies de NavegaciónAndres Pozo
 
Informatica Forense
Informatica ForenseInformatica Forense
Informatica ForenseAndres Pozo
 
Principios de analisis forense
Principios de analisis forensePrincipios de analisis forense
Principios de analisis forenseAndres Pozo
 
Perito Informatico
Perito InformaticoPerito Informatico
Perito InformaticoAndres Pozo
 
Taller n15 analisis ley proteccion datos
Taller n15 analisis ley proteccion datosTaller n15 analisis ley proteccion datos
Taller n15 analisis ley proteccion datosAndres Pozo
 
Ley de proteccion de datos personales
Ley de proteccion de datos personalesLey de proteccion de datos personales
Ley de proteccion de datos personalesAndres Pozo
 
Firma electronica
Firma electronicaFirma electronica
Firma electronicaAndres Pozo
 
Analisis de la firma electronica en Ecuador
Analisis de la firma electronica en EcuadorAnalisis de la firma electronica en Ecuador
Analisis de la firma electronica en EcuadorAndres Pozo
 
Clasificación de contratos informáticos
Clasificación de contratos informáticosClasificación de contratos informáticos
Clasificación de contratos informáticosAndres Pozo
 
Instalacion vegas pro
Instalacion vegas proInstalacion vegas pro
Instalacion vegas proAndres Pozo
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semánticoAndres Pozo
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintacticoAndres Pozo
 
Compiladores manuales java c visual basic
Compiladores manuales java c visual basicCompiladores manuales java c visual basic
Compiladores manuales java c visual basicAndres Pozo
 
Compilador cruzado
Compilador cruzadoCompilador cruzado
Compilador cruzadoAndres Pozo
 

Más de Andres Pozo (20)

Taller n25 practica phishing
Taller n25 practica phishingTaller n25 practica phishing
Taller n25 practica phishing
 
Instalacion Herramientas Practica
Instalacion Herramientas PracticaInstalacion Herramientas Practica
Instalacion Herramientas Practica
 
Análisis de Metadatos y Cookies de Navegación
Análisis de Metadatos y Cookies de NavegaciónAnálisis de Metadatos y Cookies de Navegación
Análisis de Metadatos y Cookies de Navegación
 
Informatica Forense
Informatica ForenseInformatica Forense
Informatica Forense
 
Principios de analisis forense
Principios de analisis forensePrincipios de analisis forense
Principios de analisis forense
 
Perito Informatico
Perito InformaticoPerito Informatico
Perito Informatico
 
Taller n15 analisis ley proteccion datos
Taller n15 analisis ley proteccion datosTaller n15 analisis ley proteccion datos
Taller n15 analisis ley proteccion datos
 
Ley de proteccion de datos personales
Ley de proteccion de datos personalesLey de proteccion de datos personales
Ley de proteccion de datos personales
 
Firma electronica
Firma electronicaFirma electronica
Firma electronica
 
Analisis de la firma electronica en Ecuador
Analisis de la firma electronica en EcuadorAnalisis de la firma electronica en Ecuador
Analisis de la firma electronica en Ecuador
 
Clasificación de contratos informáticos
Clasificación de contratos informáticosClasificación de contratos informáticos
Clasificación de contratos informáticos
 
Instalacion vegas pro
Instalacion vegas proInstalacion vegas pro
Instalacion vegas pro
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Compiladores manuales java c visual basic
Compiladores manuales java c visual basicCompiladores manuales java c visual basic
Compiladores manuales java c visual basic
 
Fortran
FortranFortran
Fortran
 
Compilador cruzado
Compilador cruzadoCompilador cruzado
Compilador cruzado
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 
Vb decompilador
Vb decompiladorVb decompilador
Vb decompilador
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Instalación EMU 806 paso a paso

  • 2.
  • 3.
  • 4.
  • 5.
  • 6. El emu8086 El emu8086 es un emulador del microprocesador 8086 (Intel o AMD compatible) con assembler integrado. A diferencia del entorno de programación en assembler utilizado anteriormente en la cátedra (MASM), este entorno corre sobre Windows y cuenta con una interfaz gráfica muy amigable e intuitiva que facilita el aprendizaje el leguaje de programación en assembler. Dado que en un entorno emulado de microprocesador no es posible implementar una interfaz real de entrada/salida, el emu8086 permite interfacear con dispositivos virtuales y emular una comunicación con el espacio de E/S. Para esto, el emu8086 cuenta con una serie de dispositivos virtuales preexistentes en el software base, listos para ser utilizados, entre los que se encuentran una impresora, un cruce de calles con semáforos, un termómetro, un motor paso a paso, etc. No obstante, la cátedra ha desarrollado dispositivos adicionales con características particulares para la realización del segundo trabajo práctico.
  • 7. Se muestra a continuación una tabla comparativa con las diferencias entre el entorno de programación en assembler Emu 8086 Microsoft Assembler (MASM 6.11) Entorno educativo Entorno para producción y educativo. Basado en Windows Basado en DOS En forma nativa admite dispositivos virtuales. No admite dispositivos virtuales en forma nativa Set de instrucciones de 8086 Set de instrucciones del 8086, 80186/286/386/486 Directivas propias adicionales Directivas comunes con TASAM (Borland Turbo Assembler) Emula interrupciones por Hw y Sw No permite emular interrupciones
  • 8. utilizado anteriormente en la cátedra (MASM 6.11) y el nuevo emu8086: Codigo hola mundo org 100h ; set video mode mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3) int 10h ; do it! ; cancel blinking and enable all 16 colors: mov ax, 1003h mov bx, 0 int 10h ; set segment register: Emula el espacio de E/S (instrucciones IN y OUT) No permite emular el espacio de E/S Permite emular interrupciones. No permite emular intrrupciones. Herramientas adicionales para el debug
  • 9. mov ax, 0b800h mov ds, ax ; print "hello world" ; first byte is ascii code, second byte is color code. mov [02h], 'H' mov [04h], 'o' mov [06h], 'l' mov [08h], 'a' mov [0ah], ',' mov [0ch], 'M' mov [0eh], 'u' mov [10h], 'n' mov [12h], 'd' mov [14h], 'o' mov [16h], '!' mov [18h], '!' ; color all characters: mov cx, 12 ; number of characters. mov di, 03h ; start from byte after 'h' c: mov [di], 11101100b ; light red(1100) on yellow(1110)
  • 10. add di, 2 ; skip over next ascii code in vga memory. loop c ; wait for any key press: mov ah, 0 int 16h ret
  • 11. Código Nombre Universidad Fecha Materia .MODEL SMALL ;modelo pequeno de compilacion (64k como maximo) .STACK 100h ;Segmento de pila: Pila 256 posiciones CR EQU 13 ;Declaracion de constantes LF EQU 10 .DATA ;Comienzo del segmento de datos TEXTO DB 'Diego Andres Pozo Andrade PUCE-SI 26/04/2016 Compiladores$',CR,LF ;Reserva de memoria con retorno de carro e ;Inicio de linea, la variable TEXTO es de tipo ;byte,el simbolo $ es el simbolo de fin de cadena .CODE ;Comienzo del segmento de código MOV AX, SEG TEXTO ;Mueve a AX la direccion del primer byte del ;segmento de datos MOV DS,AX ;Mueve dicha direccion al segmento de datos LEA DX,TEXTO ;Cargamos en DX la dirección efectiva del texto ;que vamos a imprimir por pantalla MOV AH,9 ;funcion "Escribir texto por pantalla" INT 21h ;Llamada a DOS por medio de la interrupción
  • 12. ;para ejecutar la funcion MOV AH,4ch ;funcion "Retornar a DOS" INT 21h ;Interrupcion que llama a DOS para terminar el ;programa END ;fin Captura pantalla
  • 13. Código comparar dos números org 100h mov ah, 4 mov al, 4 cmp ah, al nop ; (signed/unsigned) ; 4 is above and greater then 3 mov ah, 4 mov al, 3 cmp ah, al nop ; -5 = 251 = 0fbh ; (signed) ; 1 is greater then -5 mov ah, 1 mov al, -5 cmp ah, al nop ; (unsigned)
  • 14. ; 1 is below 251 mov ah, 1 mov al, 251 cmp ah, al nop ; (signed) ; -3 is less then -2 mov ah, -3 mov al, -2 cmp ah, al nop ; (signed) ; -2 is greater then -3 mov ah, -2 mov al, -3 cmp ah, al nop ; (unsigned) ; 255 is above 1 mov ah, 255
  • 15. mov al, 1 cmp ah, al nop ; now a little game: game: mov dx, offset msg1 mov ah, 9 int 21h ; read character in al: mov ah, 1 int 21h cmp al, '0' jb stop cmp al, '9' ja stop cmp al, '6' jb below ja above mov dx, offset equal_5 jmp print below: mov dx, offset below_5
  • 16. jmp print above: mov dx, offset above_5 print: mov ah, 9 int 21h jmp game ; loop. stop: ret ; stop msg1 db "ingrese un numero u otro caracter para salir: $" equal_5 db " es seis! (igual)", 0Dh,0Ah, "$" below_5 db " es menor que seis!" , 0Dh,0Ah, "$" above_5 db " is mayor que seis!" , 0Dh,0Ah, "$" Captura
  • 17. Código suma 10 números org 100h ; number of elements: mov cx, 10 ; al will store the sum: mov al, 0 ; bx is an index: mov bx, 0 ; sum elements: next: add al, vector[bx] ; next byte: inc bx ; loop until cx=0: loop next ; store result in m: mov m, al ; print result in binary: mov bl, m mov cx, 8 print: mov ah, 2 ; print function.
  • 18. mov dl, '0' test bl, 10000000b ; test first bit. jz zero mov dl, '1' zero: int 21h shl bl, 1 loop print ; print binary suffix: mov dl, 'b' int 21h mov dl, 0ah ; new line. int 21h mov dl, 0dh ; carrige return. int 21h ; print result in decimal: mov al, m call print_al ; wait for any key press: mov ah, 0 int 16h
  • 19. ret ; variables: vector db 1, 2, 3, 4, 5, 6, 7, 8, 9, 6 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
  • 20. call print_al_r mov al, ah add al, 30h mov ah, 0eh int 10h jmp pn_done pn_done: popa ret endp Captura
  • 21. Código programa sugerido (Dibujar Diagonal) mov cx,1 mov al, 13h mov ah, 0 int 10h ; set graphics video mode. bucle1: mov dx, cx mov al, color ;AL = pixel color mov ah, 0ch ;Change color for a single pixel int 10h ;set pixel cmp cx, 101 ;llegar hasta 100 x 100 (va en diagonal) jz fin inc cx ;DX = row. add color, 2 ;para cambiar colores jmp bucle1 ;CX = column fin: ret color db 1