Nombre del módulo: Instalación de Sistemas … Tehuacán 150 INMI 308 PTB en SOMA. Ing. J. Quiroga...
Transcript of Nombre del módulo: Instalación de Sistemas … Tehuacán 150 INMI 308 PTB en SOMA. Ing. J. Quiroga...
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 1
Nombre del Plantel: Conalep Tehuacán 150
Nombre del módulo: Instalación de Sistemas
Microprocesados
Guía sobre Programación en Ensamblador usando Emulador
(emu8086)
Ing. Jonathan Quiroga Tinoco
Grupo: 309
Carrera: P.T.B. en SOMA
Ciclo Escolar: Agosto 2014 – Enero 2015
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 2
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 “Programacion-Emulador.zip” 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.
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 3
Al finalizar el proceso nos enviará el siguiente mensaje:
Hay que seleccionar únicamente donde aparece “Launch the emulator” porque no existe el archivo “ReadMe.txt” y si no lo deseleccionamos enviará un error. Tanto en el escritorio como en el menú inicio deberá aparecer el programa instalado mediante el siguiente ícono:
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 4
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
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 5
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 Codigo”, entre más líneas de código tiene un programa, más complejo es este y permite realizar cosas más 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 aplicacion. El boton “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.
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 6
Nuestras prácticas consistirán en verificar los ejemplos ya planteados por el diseñador del software, para ello deberemos pulsar el boton “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 boton “emulate” para proseguir con la virtualización del ejemplo.
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 7
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 (extrema 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.
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 8
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
Conalep Tehuacán 150
INMI 308 PTB en SOMA. Ing. J. Quiroga Tinoco. www.zonaEMEC.tk 9
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