0% encontró este documento útil (0 votos)
260 vistas10 páginas

Introducción al Lenguaje Ensamblador

El documento presenta una introducción al lenguaje ensamblador, describiendo sus características principales como lenguaje de bajo nivel que se comunica directamente con el microprocesador. Explica los objetivos de comprender aspectos básicos como registros e instrucciones, e identifica ventajas como velocidad y desventajas como falta de portabilidad. Finalmente, presenta la estructura de un programa en lenguaje ensamblador.

Cargado por

Sindy Devoz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
260 vistas10 páginas

Introducción al Lenguaje Ensamblador

El documento presenta una introducción al lenguaje ensamblador, describiendo sus características principales como lenguaje de bajo nivel que se comunica directamente con el microprocesador. Explica los objetivos de comprender aspectos básicos como registros e instrucciones, e identifica ventajas como velocidad y desventajas como falta de portabilidad. Finalmente, presenta la estructura de un programa en lenguaje ensamblador.

Cargado por

Sindy Devoz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

LENGUAJE ENSAMBLADOR

ESTUDIANTES:
DANIEL EDUARDO ALVEAR ARTUZ
CODIGO:36058
NEIS MELISSA MARIN
CODIGO: 42599
SINDY PAOLA DEVOZ PEREZ
CODIGO: 12529

FUNDACION UNIVERSITARIA TECNOLOGICO COMFENALCO


INGENIERIA DE SISTEMAS
CARTAGENA DE INDIAS
2020
LENGUAJE ENSAMBLADOR

PROFESOR:
ALEX ERNESTO JIMENEZ

FUNDACION UNIVERSITARIA TECNOLOGICO COMFENALCO


INGENIERIA DE SISTEMAS
CARTAGENA DE INDIAS
2020
INTRODUCCION

El presente trabajo tiene como finalidad comprender el lenguaje ensamblador, que se puede definir
como lenguaje de bajo nivel. Muchos dispositivos programables como los microcontroladores aún
cuentan con el ensamblador como la única manera de ser manipulados.
La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el
microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja
de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo
pueden realizar.
OBJETIVOS

Comprender aspectos básicos del lenguaje desde perspectivas que abarcan ventajas y sus
desventajas como también identificar registros, instrucciones en la estructura de un programa
escrito en dicho lenguaje.
LENGUAJE ENSAMBLADOR O ASM

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas
informáticos, y constituye la representación más directa del código máquina específico para cada
arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el


microprocesador; por lo cual se debe conocer el funcionamiento interno de este, tiene la ventaja
de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo
pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en
memoria.
El Lenguaje ensamblador el único lenguaje que entienden los microcontroladores es el código
máquina formada por ceros y unos del sistema binario. El lenguaje ensamblador expresa las
instrucciones de una forma más natural al hombre a la vez que muy cercana al microcontrolador,
ya que cada una de esas instrucciones se corresponde con otra en código máquina. El lenguaje
ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan
las órdenes o tareas a realizar. La traducción de los nemónicos a código máquina entendible por el
microcontrolador la lleva a cabo un programa ensamblador. El programa escrito en lenguaje
ensamblador se denomina código fuente (*.asm). El programa ensamblador proporciona a partir
de este fichero el correspondiente código máquina, que suele tener la extensión *.hex
EL CÓDIGO FUENTE
Está compuesto por una sucesión de líneas de texto. Cada línea puede estructurarse en hasta cuatro
campos o columnas separados por uno o más espacios o tabulaciones entre sí. ¾ Campo de
etiquetas. Expresiones alfanuméricas escogidas por el usuario para identificar una determinada
línea. Todas las etiquetas tienen asignado el valor de la posición de memoria en la que se encuentra
el código al que acompañan. ¾ Campo de código. Corresponde al nemónico de una instrucción,
de una directiva o de una llamada a macro. ¾ Campo de operando y datos. Contiene los operando
que precisa el nemónico utilizado. Según el código, puede haber dos, uno o ningún operando. ¾
Campo de comentarios. Dentro de una línea, todo lo que se encuentre a continuación de un punto
y coma (;) será ignorado por el programa ensamblador y considerado como comentario.

VENTAJAS

1. Simplificación de la arquitectura hardware al no tener que planificar el código.

2. Menor potencia y consumo.

3. Velocidad de ejecución.

4. Como trabaja directamente con el microprocesador al ejecutar un programa, pues como


este lenguaje es el más cercano a la máquina la computadora lo procesa más rápido.

5. Eficiencia de tamaño. Un programa en ensamblador no ocupa mucho espacio en memoria


porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel

6. Flexibilidad. Es flexible porque todo lo que puede hacerse con una máquina, puede hacerse
en el lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u
otra forma limitante para explotar al máximo los recursos de la máquina. O sea que en
lenguaje ensamblador se pueden hacer tareas específicas que en un lenguaje de alto nivel
no se pueden llevar acabo porque tienen ciertas limitantes.

DESVENTAJAS
1. Requiere compiladores mucho más complejos.

2. Cualquier mejora en la arquitectura implica un cambio en el juego de instrucciones.


3. Falta de portabilidad

4. Requiere muchas instrucciones y genera un código extenso.

5. Tiempo de programación. Como es un lenguaje de bajo nivel requiere más instrucciones


para realizar el mismo proceso, en comparación con un lenguaje de alto nivel. Por otro
lado, requiere de más cuidado por parte del programador, pues es propenso a que los errores
de lógica se reflejen más fuertemente en la ejecución.

6. Programas fuente grande. Por las mismas razones que aumenta el tiempo, crecen los
programas fuentes; simplemente requerimos más instrucciones primitivas para describir
procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los
programas, y nuevamente reduce la productividad de los programadores.

7. Peligro de afectar recursos inesperadamente Que todo error que podamos cometer, o todo
riesgo que podamos tener, podemos afectar los recursos de la máquina, programar en este
lenguaje lo más común que pueda pasar es que la máquina se bloquee o se reinicialicé.
Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de
instrucciones inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.

EL PROCESADOR Y SUS REGISTROS INTERNOS

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar
direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son
direccionables por medio de un nombre. Los bits por convención, se numeran de derecha a
izquierda

... 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REGISTROS DE SEGMENTO

Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para


direccionamiento conocida como el segmento actual.
Registro CS. El DOS almacena la dirección inicial del segmento de código de un programa en el
registro CS. Esta dirección de segmento, mas un valor de desplazamiento en el registro apuntador
de instrucción (IP), indica la dirección de una instrucción que es buscada para su ejecución.
Registro DS. La dirección inicial de un segmento de datos de programa es almacenada en el
registro DS. En términos sencillos, esta dirección, más un valor de desplazamiento en una
instrucción, genera una referencia a la localidad de un byte específico en el segmento de datos.
Registro SS. El registro SS permite la colocación en memoria de una pila, para almacenamiento
temporal de direcciones y datos. El DOS almacena la dirección de inicio del segmento de pila de
un programa en el registro SS. Esta dirección de segmento, más un valor de desplazamiento en el
registro del apuntador de pila (SP), indica la palabra actual en la pila que está siendo direccionada.

Registros ES. Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el
registro extra de segmento para manejar el direccionamiento de memoria. En este contexto, el
registro ES está asociado con el registro DI (índice). Un programa que requiere el uso del registro
ES puede inicializarlo con una dirección de segmento apropiada.

Registros FS y GS. Son registros extra de segmento en los procesadores 80386 y posteriores.

REGISTROS DE PROPOSITO GENERAL

Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son
únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte.
El último byte de la izquierda es la parte "alta", y el ultimo byte de la derecha es la parte "baja".
Por ejemplo, el registro CX consta de una parte CH (alta) y una parte Cl (baja), y usted puede
referirse a cualquier parte por su nombre.

Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican
entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar,
dividir y traducir suponen el uso del AX. También, algunas operaciones generan código más
eficiente si se refieren al AX en lugar de a los otros registros.

Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito
general que puede ser índice para direccionamiento indexado. Tambien es común emplear el BX
para cálculos.
Registro DX. El DX es conocido como el registro de datos. Alguna operación de entrada/salida
requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y
al AX trabajando juntos.

ESTRUCTURA DE UN PROGRAMA
Bibliografía.
http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtml
https://cosyen.files.wordpress.com/2011/02/exposicion-equipo-4.pdf
http://www.swagger.mx/tecnologia/la-evolucion-de-windows-de-microsoft-1975-2012
http://club.telepolis.com/mydream/Asm/
http://www.ittux.edu.mx/sites/default/files/MICROCOMPUTADORAS_AL_DETALLE.pdf
https://www.quora.com/What-is-the-function-of-assembly-language
https://techterms.com/definition/assembly_language
https://www.educba.com/what-is-assembly-language/

También podría gustarte