Vous êtes sur la page 1sur 10

ASSEMBLER

Manel Ribau
Naim Rahmouni
M5
IES Carles Vallbona
Curs 2017/18
Índice
Descripción y historia 2
Historia 2

Generación a la que pertenece 3


Nivel de abstracción 3

Paradigma de programación 4

Forma d'execució 5

Propòsit del llenguatge 6

Tipatge 7

Ejemplo de código 8

Webgrafia 9

1
Descripción y historia
El lenguaje de ensamblador o Assembler (en Inglés), es un lenguaje de
programación de bajo nivel para los computadores, microprocesadores,
microcontroladores y otros circuitos integrados programables. Implementa una
representación simbólica de los códigos de máquina binarios y otras constantes
necesarias para programar una arquitectura dada de CPU y constituye la
representación más directa del código máquina específico para cada arquitectura
legible por un programador. Esta representación es usualmente definida por el
fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos
de procesamiento (las instrucciones), los registros del procesador, las posiciones de
memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo
tanto específico de cierta arquitectura de computador física (o virtual). Esto está en
contraste con la mayoría de los lenguajes de programación de alto nivel, que
idealmente son portátiles.

Un programa utilitario llamado ensamblador es usado para traducir sentencias del


lenguaje ensamblador al código de máquina del computador objetivo. El
ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a
uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina.
Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola
declaración generalmente da lugar a muchas instrucciones de máquina.

Historia

Para poder programar en Bajo nivel(Ensamblador) debemos conocer desde lo


básico hasta lo más complicado.

La primera computadora programable fue la ENIAC en 1946 pero se programaba


mediante circuitos complejos que no eran nada funcionales. Después se empezó a
utilizar el lenguaje máquina que son claves binarias que representan un Código de
Operación (OPCODE). Estas se almacenan en grupos de instrucciones llamados
Programas.

2
ENIAC

Esto llegó a ser muy complicado debido a que se debían aprender una serie
enormes de códigos binarios para realizar operaciones. Por ejemplo:
Para realizar la suma se tenía una instrucción binaria muy similar a
"00101010010100101". Es por eso que se complicaba demasiado manejar este tipo
de programación.
Actualmente manejamos lenguajes de Alto nivel que son relativamente sencillos a
comparación con el lenguaje máquina. Pero no se llegó al alto nivel desde el código
binario, existe un lenguaje que nació para facilitar el binary code.

Generación a la que pertenece


El código del Ensamblador pertenece a la primera generación Los primeros
ordenadores se programaban directamente en código de máquina (basado en
sistema binario), que puede representarse mediante secuencias de ceros y unos
sistema binario. Cada modelo de ordenador tiene su propio código, por esa razón se
llama lenguaje de máquina.

Nivel de abstracción
Pertenece al bajo nivel donde la programación se realiza teniendo muy en cuenta
las características del procesador. Es el más cercano al código máquin

3
Paradigma de programación
Un paradigma de programación es una propuesta tecnológica adoptada por una
comunidad de programadores y desarrolladores cuyo núcleo central es
incuestionable en cuanto que únicamente trata de resolver uno o varios problemas
claramente delimitados; la resolución de estos problemas debe suponer
consecuentemente un avance significativo en al menos un parámetro que afecte a la
ingeniería de software.

El lenguaje de Ensamblador pertenece a la programación imperativa o por


procedimientos, es el más usado en general, se basa en dar instrucciones al
ordenador de como hacer las cosas en forma de algoritmos. La programación
imperativa es la más usada y la más antigua, el ejemplo principal es el lenguaje de
máquina.

4
Forma d'execució
La forma de ejecución del lenguaje ensamblador depende del sistema operativo
utilizado, explicaremos la manera de hacerlo mediante linux y dentro de este
mediante sus respectivas etapas:

Etapa 1. Crear un fichero fuente

No es necesario un editor específico para crear un fichero fuente destinado a Nasm.


Eventualmente podríamos utilizar un editor que soporte la coloración sintáctica del
ensamblador pero que yo sepa no existe uno que soporte la sintaxis de Nasm.
Por lo tanto, podemos elegir entre gedit, kwrite, xemacs etc...
Cuando guardes el fichero fuente, ponle la extensión .asm

Etapa 2. Ensamblar el fichero fuente

Para esta etapa, necesitaremos que el programa Nasm esté instalado en nuestra
máquina. Si estás bajo Debian o Ubuntu, simplemente escribe el comando:
sudo apt-get install nasm
Si utilizas otra distribución Linux, deberás utilizar el gestor de paquetes de tu
distribución (por ejemplo urpmi, yum, emerge etc...)o compilar nasm descargando el
fichero desde el sitio oficial.
Pasemos ahora al ensamblado del fichero fuente.
Dirígete en línea de comandos a la carpeta donde se encuentra el fichero fuente al
que llamaremos por ejemplo test.asm. La línea a escribir es:
nasm -f elf test.asm
Esto creará un fichero llamado test.o en el directorio actual. Este fichero aun no es
ejecutable, únicamente es un fichero objeto, es decir un fichero que es necesario
leer con las bibliotecas de las que depende como por ejemplo la biblioteca standard
libc.

Etapa 3. Creación del ejecutable

Ahora que ya tenemos nuestro fichero objeto llamado test.o vamos a crear nuestro
ejecutable.
Aquí se presentan dos casos:
● El programa inicia con un procedimiento llamado “_start”. Esto significa
que el programa posee su propio punto de entrada sin utilizar la función
main. Esto no cambia mucho, sin embargo necesitarás utilizar el comando
"ld" para crear el ejecutable:
● ld test.o -o test

5
● El programa inicia con un procedimiento llamado “main”. Entonces
necesitarás utilizar gcc para crear el ejecutable:
● gcc test.o -o test
Y listo el ejecutable ha sido creado, se llama test y se ubica en el directorio actual.

Etapa 4. Ejecución del programa

Para ejecutar nuestro programa llamado “test”, basta con escribir este comando:
./test
También podemos utilizar un depurador para observar la ejecución. Para ello
podemos utilizar gdb que se utiliza en línea de comandos. Si deseas un depurador
más visual, existen interfaces gráficas que utilizan gdb en segundo plano como por
ejemplo Insight.

Propòsit del llenguatge


El lenguaje ensamblador es el lenguaje de programación utilizado para escribir programas
informáticos de bajo nivel, y constituye la representación más directa del Código máquina
específico para cada arquitectura de computadoras legible por un programador. Aun hoy se
utiliza en la programación de handler o manipuladores de dispositivos de hardware.

Un programa escrito en lenguaje ensamblador consiste en una serie de Instrucciones que


corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la Memoria de un
sistema basado en Microprocesador. Por ejemplo, un Procesador x86 puede ejecutar la
siguiente instrucción Binaria como se expresa en código de máquina:
● Binario: 10110000 01100001 (Hexadecimal: 0xb061)
● La representación equivalente en lenguaje ensamblador es más fácil de recordar:
● MOV al, 061h Esta instrucción significa:
● Asigna el valor Hexadecimal 61 (97 Decimal) al registro "al".

6
Tipatge
El ensamblador MPASM (distribuido por Microchip) soporta los sistemas de numeración
decimal, hexadecimal, octal, binario y ASCII, no contiene datos, trabaja a bajo nivel.
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.

7
Ejemplo de código

8
Webgrafia
http://brevehistoriacomputacion.blogspot.es/tags/assembler/
https://qbitacora.wordpress.com/2007/09/21/clasificacion-de-lenguajes-de-programacion/
https://es.wikipedia.org/wiki/Lenguaje_ensamblador

Vous aimerez peut-être aussi