mye - sem 13 - clase 26
DESCRIPTION
clas 26 de micro procesadoresTRANSCRIPT
HERRAMIENTAS DELENGUAJE ENSAMBLADOR
MICROPROCESADORES Y ENSAMBLADORES
Ma. Henry Magari Vanegas Rodríguez
Herramientas mas usadas en EnsambladorPara poder crear un programa se requieren varias herramientas:• Un editor para crear el programa fuente.
– El editor puede ser cualquier editor de textos que se tenga a lamano(Ej. Notepad++). Aquí el archivo se guarda como .asm
• Un compilador que no es más que un programa que "traduce" elprograma fuente a un programa objeto.– Como compilador se puede utilizar el MASM (macro ensamblador
de Microsoft) ya que es el más común o el TASM (Turbo Assamblerde Borland). Aquí el archivo se genera como .obj
• Un enlazador o linker, que genere el programa ejecutable a partir delprograma objeto.– Link para Microsoft y Tlink para Borland. Aquí el archivo se genera
como .exe o como .com (según como se ensamblo).
Estructura de un Programa en Ensamblador.MODEL <tiny, small, medium>
.DATA<Tu data (información) inicializada>…….
.DATA?<Tu data NO inicializada>…….
.CONST<Tus comentarios> …….
.CODE<Etiqueta>
<Tu código>……
End <Etiqueta>end
Modelo o tipo de Memoria que va a depender del compilador
Área de variables.La directiva .DATA le indica al ensamblador que lo que está escrito acontinuación debe almacenarlo en el segmento de memoriadestinado a los datos. La directiva DB es utilizada para Definir Bytes,ésto es, asignar a cierto identificador (en este caso "Texto" un valor,ya sea una constante o una cadena de caracteres, en este últimocaso deberá estar entre comillas sencillas ' y terminar con elsímbolo "$".
Área del código del programaEtiquetas y
Final de la etiquetaFinal del programa
Instrucciones mas usadas en Ensamblador
mov• mueve el valor de un registro o un numero hacia otro
registro.add• Sumar el valor de un registro a otro registro.sub• Resta el valor de un registro o valor especifico a un registro.inc• incrementa en 1 el valor del registrodec• Decrementa en 1 el valor del registro
Tipos de Salto CondicionalesEstos se deben usar después de CMPAritmética signada (con números positivos, negativos y cero)• JG Saltar si es mayor• JL Saltar si es menor• JE Saltar si es igual• JGE Saltar si es mayor o igual• JLE Saltar si es menor o igualAritmética sin signo (con números positivos y cero)• JA Saltar si es mayor• JB Saltar si es menorSaltos condicionales según el valor de los indicadores• JZ Saltar si el resultado es cero.• JNZ Saltar si el resultado no es cero.
Ciclos en Lenguaje Ensamblador
Saltos condicionales que usan el registro CX como contador:• LOOP label
Operación: CX <- CX-1. Saltar a label si CX<>0.Cada vez que encuentra el loop decrementa el cx hasta que cx=0• INC dest
Operación: dest <- dest + 1• DEC dest
Operación: dest <- dest – 1Inc y Dec funcionan de manera similar a Loop solo que en estosdos casos se tiene que definir el contador.
Ejemplos
• Explicación de programas en ensamblador:– Determinar si un numero es mayor que otro.– Sumar dos números y mostrar un mensaje de éxito– Restar dos números y mostrar un mensaje de éxito– Multiplicar dos números y mostrar un mensaje de
éxito.– Dividir dos números y mostrar un mensaje de
éxito.– Realizar ciclos con Loop, con Inc y con Dec