Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 •...

15
Nombre del Plantel: Conalep Tehuacán 150 Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación en lenguaje ensamblador Nombre del docente: Ing. Jonathan Quiroga Tinoco Grupo: 307 y 308 Carrera: P.T.B. en MECC Ciclo Escolar: Febrero – Julio 2013

Transcript of Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 •...

Page 1: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

• Nombre del Plantel: Conalep Tehuacán 150

• Nombre del módulo: Instalación de Sistemas

Microprocesados

Tutorial sobre programación en lenguaje ensamblador

• Nombre del docente:

Ing. Jonathan Quiroga Tinoco

• Grupo: 307 y 308

• Carrera:

P.T.B. en MECC

• Ciclo Escolar: Febrero – Julio 2013

Page 2: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 1!

USO$DEL$EMULADOR$8086$PARA$PRÁCTICAS$INICIALES$$

Lo# primero# que# haremos# será# conseguir# el# archivo# llamado# “Setup.exe”# que# viene#contenido#en#la#carpeta#comprimida#llamada#“2;2_Programación;Emulador”#disponible#en#ZonaEMEC.# Le# daremos# doble# clic# y# al# ser# un# ejecutable# nos# saldrá# la# siguiente#advertencia:##

##

El# archivo# es# seguro,# libre# de# virus# y# amenazas# por# lo# que# seleccionaremos# “Sí”# para#continuar.# Inmediatamente# nos# aparecerá# la# ventana# de# bienvenida# para# la# instalación,#todo#lo#que#tendremos#que#hacer#es#presionar#“Next”#tantas#veces#como#nos#lo#solicite:##

##

La# instalación# dura# unos# cuantos# minutos# y# no# hace# falta# cambiar# ningún# parámetro.#Algunas#computadoras#del# laboratorio#ya# tienen# instalado#el#programa#así#que#verifique#antes#para#no#repetir#el#proceso.##

Page 3: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 2!

##

Al#finalizar#el#proceso#nos#enviará#el#siguiente#mensaje:##

##

Hay#que#seleccionar#únicamente#dónde#aparece#“Launch#the#emulator”#porque#no#existe#el#archivo#“ReadMe.txt”#y#sino#lo#deseleccionamos#enviará#un#error.##Tanto# en# el# escritorio# como# en# el# menú# inicio# deberá# aparecer# el# programa# instalado#mediante#el#siguiente#ícono:##

#

Page 4: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 3!

Cuando#volvamos#a#abrir#el#programa#nos#pedirá#que#ingresemos#la#clave#del#producto:##

##

Daremos#clic#en#“PLEASE#ENTER#THE#REGISTRATION#KEY#…”#y#colocaremos#los#siguientes#datos:##

##

Estos# datos# no# se# deberán# modificar# porque# de# lo# contrario# el# programa# dejará# de#funcionar# al# cabo# del# periodo# de# prueba.# Estos# datos# vienen# en# el# archivo# llamado#“Activar.txt”#o#bien#los#puede#copiar#de#aquí#mismo:##Licensee$Name:$ISHAAN,glaitm$$Registration$Key:$27R3VDEFYFX4N0VC3FRTQZX###

Page 5: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 4!

Y# entonces# a# partir# de# aquí# tenemos# nuestra# aplicación# lista# para# programar,# compilar,#emular#y#simular#diversos#ejemplos#para#el#procesador#8086.##

##La# interfaz# gráfica# de# usuario# es#muy# similar# a# un# editor# de# texto# simple,# por# ejemplo#Word,#pero#en# lugar#de#diferenciar#por#hojas#o#párrafos# lo#hace#por# renglones#a# lo#que#comúnmente# se# le# llama# “Líneas# de# Código”,# entre# más# líneas# de# código# tiene# un#programa,#más#complejo#es#este#y#permite#realizar#cosas#mas#especiales.##Una# diferencia# significativa# con# respecto# a# un# procesador# de# texto# normal# es# que# las#“palabras# reservadas”# o# “instrucciones”# las# señala# automáticamente# de# un# color# (azul)#mientras# que# los# comentarios,# las# variables# y# otros# elementos# los# marca# de# un# color#distinto#para#una#mejor#estructura#y#un#mayor#entendimiento#por#parte#del#usuario.##En#la#barra#de#tareas#encontraremos#las#pestañas#típicas#de#“file”#(archivo),#“edit”#(editar)#y#“help”#(ayuda)#como#en#otros#programas,#sin#embargo#cuenta#con#otras#especiales#como#“bookmarks”,#“assembler”,#“emulator”,#“math”#y#“ascii”.##En#cuanto#a#la#barra#de#botones#ocurre#lo#mismo,#encontramos#algunos#botones#típicos#de#otros#programas#pero#la#mayoría#son#específicos#para#esta#aplicación.#El#botón#“emulate”#es#de#los#más#importantes#porque#nos#va#a#permitir#ejecutar#el#programa#en#un#ambiente#de# simulación.#Tómese#su# tiempo#para#probar# cada#uno#de#estos#botones#y#verificar# las#acciones# que# ejecutan,# recuerde# que# la# experimentación# nos# ayudará# a# una# mejor#comprensión#del#software.##

Page 6: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 5!

Nuestras#prácticas#consistirán#en#verificar#los#ejemplos#ya#planteados#por#el#diseñador#del#software,#para#ello#deberemos#pulsar#el#botón#“examples”#y#seleccionar#los#que#indique#su#docente#durante#la#práctica#a#realizar:##

##Inmediatamente#después#de#haber#elegido#el#ejemplo#señalado#el#programa#en#lenguaje#ensamblador#aparecerá#en# la#pantalla#y#podremos#verificar# las# instrucciones#que# se#han#desarrollado#para#cada#caso.#Lo#siguiente#será#pulsar#el#botón#“emulate”#para#proseguir#con#la#virtualización#del#ejemplo.###

Page 7: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 6!

En#este# caso#hemos#elegido#el#ejemplo# llamado#“traffic# lights”#que#es#un#programa#que#permite#el#control#de#los#semáforos#de#una#intersección#con#ciertos#parámetros:##

##De# manera# inmediata# aparecerán# tres# ventanas# flotantes,# una# de# ellas# con# el# código#fuente# original# en# lenguaje# ensamblador# (extrema# derecha)# otro# que# es# un# panel# de#control# con# registros# y# otras# actividades# (eextrema# izquierda)# y# otra#más# que# realiza# la#respectiva#simulación#gráfica#del#proceso#planteado.##Siga$las$instrucciones$del$docente$para$completar$la$actividad$de$laboratorio$y$presentar$la$evidencia$correspondiente.$$Para#mejor#comprensión#de#los#programas#en#ensamblador#se#anexa#la#siguiente#tabla#que#contiene# una# lista# de# instrucciones# generales,# su# sintaxis# y# lo# que# realiza.# Tómela# en#cuenta.## #

Page 8: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 7!

INSTRUCCIONES$DE$TRANFERENCIA$DE$DATOS$MOV# MOV###AH,#AL#

MOV###AX,00H#Movimiento##general#de#Datos#

XCHG# XCHG#AX,BX# Intercambia#el#contenido#de#BX#a#AX#IN# INT######AX,PTOA# Ingresa#a#AX#el#contenido#de#PTOA#OUT# OUT####DX,PTOA# Saca#el#contenido#de#DX#por#PTOA#LEA# LEA#####BX,LIST# Carga#la#direccion#efectiva#de#LIST#PUSH# PUSH###AX# Almacena#AX#en#la#pila#POP# POP######AX# Extrae#AX#de#la#pila#

INSTRUCCIONES$DE$CONTROL$DE$CICLOS$INC# INC#######AX# Incrementa#AX#en#1#DEC# DEC######AX# Decremento#de#AX#en#1#LOOP# # Decrementa#automáticamente#CX#

LLAMADO$Y$RETORNO$DE$SUBRUTINA$CALL# CALL##Procedimiento# Llama#una#subrutina#RET# RET# Regresa#al#momento#anterior#

INSTRUCCIONES$ARITMATICAS$ADD# ADD#####AX,BX#

ADD#####AX,09H#Realiza#la#suma#de#AX#y#BX#y#se#almacena#en#AX#Suma#a#AX#un#09H#y#se#almacena#en#AX#

ADC# ADC#####AX,10H# Realiza#la#suma#aun#cuando#existe#un#acarreo#SUB# SUB#####AX,BX# #MUL# MUL####AX,BX#

MUL####AX,08H#Multiplica#AX#con#BX#y#se#almacena#en#AX#Multiplica#AX#por#08H#y#se#almacena#en#AX#

IMUL# IMUL#AX,#BX# Multiplica#AX#con#BX#considerando#el#signo#DIV# DIV######AX,BX#

DIV######AX,09H#Divide#AX#entre#BX#y#se#almacena#en#AX#Divide#AX#entre#09H#y#se#almacena#en#AX#

IDIV# IDIV#####AX,#BX# Divide#AX#entre#BX#considerando#el#signo.#El#resultado#es#almacenado#en#AX.#

INSTRUCCIONES$LOGICAS#

NOT## MOV#AX,66H;#AX=66H#NOT#AX;#AX=99H#

Realiza#la#operación#lógica#NOT#o#complemento#del#contenido#del#registro#AX.#

AND# MOV#AX,10H;#AX=10H#MOV#DX,0FFH;#BX=0FFH#AND#AX,BX;#AX=10H#

Realiza#la#operación#lógica#AND,#entre#el#contenido#del#registro#AX#y#BX.#El#resultado#se#escribe#en#AX.#

OR## MOV#AX,10H;#AX=10H#MOV#BX,#0FFH;#BX=0FFH#OR#AX,#BX;#AX=0FFH#

Realiza#la#operación#lógica#OR#entre#el#contenido#del#registro#AX#y#BX.#El#resultado#es#guardado#en#AX.#

XOR# MOV#AX,10H;#AX=10H#MOV#BX,#0FFH;#BX=0FFH#XOR#AX,#BX;#AX=0EFH#

Realiza#la#operación#lógica#XOR#entre#el#contenido#del#registro#AX#y#BX.#El#resultado#es#guardado#en#AX.#

$$

DESPLAZAMIENTO$Y$ROTACION$SHL# MOV#AX,#88H;#AX=88H#

SHL#AX,#01;#AX=#10H#y#C=1#Desplazamiento#lógico#a#la#izquierda#un#lugar#del#contenido#actual#de#AX.#

SHR# MOV#AX,#88H;#AX=88H,#C=1# Desplazamiento#lógico#a#la#derecha#un#lugar#del#

Page 9: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 8!

### #

SHR#AX,#01;#AX=#0C4H#y#C=0# contenido#actual#de#AX.#ROL# MOV#AX,#88H;#AX=88H#

ROL#AX,#01;#AX=11H#Rota#hacia#la#izquierda#el#contenido#del#registro#AX#sin#pasar#por#la#bandera#de#acarreo.#

ROR# MOV#AX,#88H;#AX=88H#ROR#AX,#01;#AX=44H#

Rota#hacia#la#derecha#el#contenido#del#registro#AX#sin#pasar#por#la#bandera#de#acarreo.#

RCL# MOV#AX,#88H,#C=1#ROL#AX,#01;#AX=11H,#C=1#

Rotación#con#acarreo#a#la#izquierda#

RCR# MOV#AX,#88H,#C=1#ROR#AX,#01;#AX=11H,#C=1#

Rotación#con#acarreo#a#la#derecha#

CLC# # Pone#la#bandera#de#acarreo#a#0.#STC# # Poner#acarreo#a#1#

INSTRUCCIONES$DE$PILA$PUSH## PUSH#AX# Guarda#el#contenido#de#AX#en#la#memoria#de#pila.#

Por#cada#instrucción#la#pila#se#decrementa#en#dos.#POP# POP#AX# Extrae#el#contenido#de#AX#guardado#en#la#memoria#

de#pila.#Por#cada#instrucción#la#pila#se#decrementa#en#dos.#

PUSHF# PUSHF# Guarda#el#contenido#de#todas#las#banderas#en#la#memoria#de#pila.#

POPF# POPF# Extrae#el#valor#de#las#banderas#almacenadas#en#la#memoria#de#pila.#

INSTRUCIONES$DE$INTERRUPCION$INT# INT#21H# Llama#a#la#interrupción#21H#IRET# IRET# Retorno#de#una#interrupción#

SALTOS$JA#o#JNBE# # Salta#si#está#arriba#o#salta#si#no#está#abajo#o#si#no#es#

igual#JAE#o#JNB# # Salta#si#está#arriba#o#salta#si#no#está#abajo#o#si#no#es#

igual#JB#o#JNAE# # Salta#si#está#abajo#o#salta#si#no#está#arriba#o#si#no#es#

igual#JBE#o#JNA# # Salta#si#está#abajo#o#si#es#igual#o#salta#si#no#está#

arriba#JE#o#JZ# # Salta#si#es#igual#o#salta#si#es#cero#JNE#o#JNZ# # Salta#si#no#es#igual#o#salta#si#no#es#cero#JS# # Salta#si#el#signo#es#negativo#JNS# # Salta#si#el#signo#es#positivo#JC# # Salta#si#hay#acarreo#JNC# # Salta#si#no#hay#acarreo#

Page 10: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 9!

PROGRAMACIÓN$EN$UN$AMBIENTE$DIFERENTE$SIN$EMULADOR$#A# continuación#vamos#a# trabajar# sin#emulador#directamente# sobre#el# sistema#operativo,#para#ello#deberemos#seguir#las#siguientes#instrucciones#al#pie#de#la#letra.##Primero#es#tener#estos#dos#archivos,#para#cada#caso,#que#encontraremos#en#la#carpeta#comprimida#llamada#“Ejemplos#Ensamblador”,#también#disponible#en#ZonaEMEC:##

• LINK####(ejecutables)#• MASM#(macro#ensamblador)#

#

#Después#nos#vamos#a#la#carpeta#del#disco#C.#

##Creamos#una#carpeta#y#le#ponemos#el#nombre#que#queramos.#

##Dentro#de#la#carpeta#A#introducimos#los#2#programas#(Link#y#Masm)##

#

Page 11: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 10!

Creamos#un#documento#de#texto#(con#el#bloc#de#notas)#y#le#ponemos#de#nombre#lo#que#queramos##

##Pegamos#este#texto#en#el#documento#de#texto:##cr#equ#13#lf#equ#10#dades#SEGMENT#PARA#PUBLIC#'data'#msg1#DB#'Hola#Mundo',cr,lf,'$'#dades#ENDS#codi#SEGMENT#PARA#PUBLIC#'code'#MAIN#PROC#FAR#ASSUME#cs:codi,DS:dades,SS:pila,ES:dades#MOV#AX,dades#MOV#DS,AX#MOV#ES,AX#MOV#AH,09H#LEA#DX,msg1#int#21H#MOV#AX,4C00H#int#21h#MAIN#ENDP#codi#ENDS#pila#SEGMENT#PARA#STACK#'stack'#DB#128#DUP(0)#pila#ends#END#MAIN###Al#guardar#el#documento#de#texto#sele#pondrá#con#el#nombre#“hola.ASM”.#Todo#programa#en#lenguaje#ensamblador#deberá#tener#la#extensión#ASM#(de#Assembler,#ensamblador#en#inglés).#

Page 12: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 11!

###Listo#ahora#abrimos#el#modo#consola#CMD,#verificar#el#sistema#operativo#que#tenemos#para#ello.##

##Ahora#nos#vamos#a#raíz#(utilizamos#el#comando#“#C..#“#)##

##Ahora#nos#vamos#a#la#carpeta#que#creamos#en#el#disco#C.#(#CD#A)#

Page 13: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 12!

###Ahora#escribiremos#el#comando#MASM.##

##Ahora#le#ponemos#el#nombre#del#documento#de#texto#que#creamos.#Le#damos#4#veces#a#la#tecla#enter.#Y#nos#muestra#que#todo#salió#bien#ya#creo#el#objeto#hola.#

##

Page 14: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 13!

Ahora#usaremos#el#comando#LINK.#Y#mandaremos#llamar#al#objeto#hola.##

##

Aquí#colocamos#el#nombre#del#archivo#objeto.##

##Mandamos#llamar#el#objeto#hola#y#damos#4#veces#enter.##

##

Page 15: Nombre del Plantel: Conalep Tehuacán 150 · •Nombre del Plantel: Conalep Tehuacán 150 • Nombre del módulo: Instalación de Sistemas Microprocesados Tutorial sobre programación

!Conalep(Tehuacán(150(

INMI 307 / 308 PTB en MECC. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 14!

Ahora#para#ejecutar#el#programa#le#ponemos##Hola.exe##

##El#resultado#final#es#que#imprime#hola#mundo.##

##Y#es#todo.##Siga$las$instrucciones$del$docente$para$completar$la$actividad$de$laboratorio$y$presentar$la$evidencia$correspondiente.$$Para# una# mayor# comprensión# del# tema# revisado,# en# la# misma# entrada# de# ZonaEMEC#existen#varios#manuales# y# tutoriales# sobre# lo# tratado#de#manera#breve#en#esta#práctica,#revíselos#para#complementar#sus#evidencias#a#entregar.#