Sei sulla pagina 1di 7

ENSAMBLADOR

Catedrático: Héctor Méndez Carballo


hector.mendez.carballo@outlook.co

Materia: Ensamblador
Requerimientos: Visual studio 2017
USB/Drive One
Laptop

Evaluación: Examen Parcial 15%


Examen Final 20%
Exposiciones 15%
Practicas 15%
Investigación 20%
Trabajo final 15%
Actividad 1.- Lenguaje máquina y ensamblador diferencias.

Lenguaje Maquina

El lenguaje máquina es el único lenguaje que entiende


directamente el ordenador.

Por lo general los lenguajes maquina consisten en cadenas de


0s y 1s que instruyen a las computadoras para realizar operaciones.

Su estructura está completamente adaptada a los circuitos de


la máquina y muy alejada de la forma de expresión y análisis de los
problemas propios de los humanos. La programación en este
lenguaje es complicada, de manera que se requiere un profundo
conocimiento de la arquitectura física del ordenador.

Sin embargo, el código máquina hace posible que el


programador utilice la totalidad de los recursos que ofrece el
ordenador, con lo que se obtienen programas muy eficientes en
tiempo de ejecución y en ocupación de memoria, dado que
aprovechan al máximo los recursos existentes.

Lenguaje Ensamblador

El lenguaje ensamblador y casi todos los lenguajes simbólicos


de alto nivel resuelven estas limitaciones.
El lenguaje ensamblador constituye el primer intento de
sustitución del lenguaje por uno más cercano al utilizado por los
humanos.

No obstante, el lenguaje ensamblador presenta la mayoría de


los inconvenientes que tiene el lenguaje máquina: un repertorio muy
reducido de instrucciones, el rígido formato de las instrucciones, la
baja portabilidad y la fuerte dependencia del hardware.

Este tipo de lenguajes hacen corresponder a cada instrucción


en ensamblador una instrucción en código máquina. Esta traducción
la lleva a cabo un programa traductor denominado ensamblador.

Dado que el lenguaje ensamblador está fuertemente


condicionado por la arquitectura del ordenador que soporta, los
programadores no suelen escribir programas de tamaño considerable
en ensamblador, sino que utilizan este lenguaje para afinar partes
importantes de programas escritos en lenguajes de más alto nivel.

El lenguaje ensamblador sigue siendo importante, ya que


ofrece al programador el control total de la máquina y como resultado
genera un código compacto, rápido y eficiente.

Diferencias:

Un programa escrito en lenguaje ensamblador no puede ser


ejecutado directamente por la computadora en esto se diferencia
esencialmente del lenguaje máquina, sino que requiere una fase de
traducción al lenguaje máquina.

nemotécnicos típicos de operaciones aritméticas son: en inglés,


ADD, SUB, DIV, etc.; en español, SUM, RES, DIV,etc. Una instrucción
típica de suma sería: ADD M, N, P Esta instrucción podría significar
“sumar el número contenido en la posición de memoria M al número
almacenado en la posición de memoria N y situar el resultado en la
posición de memoria P”. Evidentemente es mucho más sencillo
recordar la instrucción anterior con un nemotécnico que su
equivalente en código máquina”.

TAREA: Traer el visual. *Presentación sobre el proceso de


ensamblado de un archivo .exe dentro de ensamblador. (–Fuentes
asm, -Fuentes Obj, -TASM, -TLINK) Enviar el martes 18 antes de de
las 22:00
Apuntes jueves 11/10/18

MIERCOLES 3/OCTUBRE/18

Investigar que son los Mnemónicos.

Mnemónicos para dar instrucciones, Símbolos en lugar de bits,


etiquetas en ligar de direcciones, macros en lugar de repetir.

El lenguaje ensamblador trabaja con nemónicos, que son


grupos de caracteres alfanuméricos que simbolizan las órdenes o
tareas a realizar.

Lenguaje maquina: alfanumericos

Mnemónicos:
MOVF: Mueve una copia del registro f al destino d.
XCHG: Intercambia
IN: Entrada
OUT: salida
XLAT: traduce usando tabla
LEA: Carga de dirección efectiva
LDS: Carga del segmento de datos
LES: Carga del segmento extra
LAHF: Carga indicadores en AH
SAHF: Guarda AF en los indicadores
PUSH FUENTE: (sp)  fuente
POP DESTINO: Destino (sp)

INICIO

Mnemoticos MOUF I,W SIMBOLOS


SUBWF I,W
BTFSS Status, c
GOTO JMI
MOUF G,W
ADDWF H,W: Suma COMENTARIOS
GOTO FIN: HEMOS TERMINADO

Etiquetas IMI: MOUF G,W


SUBWF H,W
FIN: MOUWF RESULT
SLEEP

¿Qué es lenguaje ensamblador?

Lenguaje es la notación formal para describir algoritmos que


serán ejecutados por un compilador, lenguaje ensamblador es la
representación simbólica del lenguaje máquina que permite que sea
más legible y fácil de utilizar.

Los Mnemónicos en el lenguaje ensamblador se utilizan para


sustituir instrucciones como las que se utilizan en un lenguaje de alto
nivel (turboC, java etc.), los símbolos representan los divs o datos,
las etiquetas, representan las direcciones de memoria y las macros
se utilizan para repetir ejecuciones.

En lenguaje ensamblador existen 2 modelos los cuales se


conocen como primera pasada y modelos de segunda pasada,
también existen montadores y cargadores para poder anexar las
secuencias de comandos a los procesadores.
Actividad 2.- Que son los montadores o montador.

Une los distintos objetos generados por el programador entre


sí, ...
También con las funciones de librería utilizadas, programadas
por otros y preexistentes en el sistema (ya compiladas y listas para
enlazar contra ellas)
Directorios (/lib, /usr/lib, /usr/local/lib/), etc. en Linux
Genera un fichero ejecutable final

Potrebbero piacerti anche