Nombre del módulo: Instalación de Sistemas … Tehuacán 150 INMI 308 PTB en SOMA. Ing. J. Quiroga...

9
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

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