Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

LENGUAJE DE PROGRAMACIÓN ASSEMBLY

No description
by

Yeikel Sánchez Alvarado

on 5 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of LENGUAJE DE PROGRAMACIÓN ASSEMBLY

Lenguaje Ensamblador
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.
HISTORIA
Fue creado por Dennis Ritchie.
Los lenguajes ensambladores fueron primero desarrollados en los años 1950, cuando fueron referidos como lenguajes de programación de segunda generación. Por ejemplo, el SOAP (Symbolic Optimal Assembly Program) era un lenguaje ensamblador de 1957 para el computador IBM 650. Los lenguajes ensambladores eliminaron mucha de la propensión a errores y del consumo de tiempo de la programación de los lenguajes de primera generación que se necesitaba con los primeros computadores, liberando a los programadores del tedio tal como recordar códigos numéricos y cálculo de direcciones.

HISTORIA
Históricamente, un gran número de programas han sido escritos enteramente en lenguaje ensamblador. Los sistemas operativos fueron casi exclusivamente escritos en lenguaje ensamblador hasta la aceptación amplia del lenguaje de programación C en los años 1970 y principios de los 1980. También, muchas aplicaciones comerciales fueron escritas en lenguaje ensamblador, incluyendo una gran cantidad del software escrito por grandes corporaciones para mainframes de IBM.
HISTORIA
Los típicos ejemplos de programas grandes en lenguaje ensamblador de ese tiempo son los sistemas operativos IBM PC DOS y aplicaciones tempranas tales como la hoja de cálculo Lotus 1-2-3, y casi todos los juegos populares para la familia Atari 800 de computadores personales. Incluso en los años 1990, la mayoría de los videojuegos de cónsola fueron escritos en ensamblador, incluyendo la mayoría de los juegos para la Mega Drive/Genesis y el Super Nintendo Entertainment System.
IMPORTANCIA DEL LENGUAJE ENSAMBLADOR
Trabaja directamente con el procesador.
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.
VENTAJAS
DESVENTAJAS
Tiempo de programación.
Programas fuentes grandes.
Peligro de afectar recursos inesperadamente
Falta de portabilidad.
CARACTERISTICAS
 Programar en lenguaje ensamblador es difícil de aprender, entender, leer, escribir, depurar y mantener, por eso surgió la necesidad de los lenguajes compilados.
 A pesar de perder rendimiento en un proceso de compilación, en la actualidad la mayoría de las computadoras son suficientemente rápidas
 Programar en lenguaje ensamblador lleva mucho tiempo.
 Los programas hechos en lenguaje ensamblador son generalmente más rápidos.
 Con el lenguaje ensamblador se pueden crear segmentos de código imposibles de formar en un lenguaje de alto nivel.

GRACIAS
LENGUAJE DE PROGRAMACIÓN ASSEMBLY
Presentado por: Cendry Sánchez
ATARI
Un programa escrito en el lenguaje ensamblador requiere considerablemente menos memoria y tiempo de ejecución.
Los programas residentes y rutinas de servicio de interrupción casi siempre son desarrollados en el lenguaje ensamblador.

Los lenguajes de alto nivel fueron diseñados para eliminar las particularidades de una computadora específica, mientras que un lenguaje ensamblador está diseñado para una familia específica de microprocesadores.
Una razón para trabajar con ensamblador es que proporciona la oportunidad de conocer más a fondo la operación de su PC, lo que permite el desarrollo de software de una manera más consistente.
La segunda razón es el control total de la PC que se tiene con el uso del mismo.
Otra razón es que los programas de ensamblador son más rápidos, más compactos y tienen mayor capacidad que los creados en otros lenguajes.
Por último el ensamblador permite una optimización ideal en los programas tanto en su tamaño como en su ejecución

APLICACIONES ACTUALES
 Sistemas embebidos: Impresoras, cámaras, autos, armas, juguetes.
 Tiempo real: Control de robots, manufactura, adquisición de datos.
 Transporte: Barcos, aviones, sondas espaciales.
 Entretenimiento: Graficacion, multimedia, videojuegos.
 DSP: Procesador digital de señal para operaciones a alta velocidad.
 Procesamiento de señales, voz e imagen: Aparatos médicos, aparatos para datos sísmicos, reproductores de audio, módems, cámaras digitales.

RELACIÓN ENTRE EL CÓDIGO BINARIO Y EL LENGUAJE ENSAMBLADOR
En el código binario se utilizan ceros y unos, mientras que el lenguaje ensamblador es una colección de símbolos mnemónicos que representan: operaciones, nombres simbólicos, operadores y símbolos especiales. La relación entre estos dos lenguajes sería que el binario es el lenguaje que la máquina entiende y el ensamblador se acerca más al lenguaje de esta.
EJEMPLOS DE CODIGO ENSAMBLADOR
Limpiar la pantalla
mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,184fh
int 10

1. En la primera instrucción (mov ax,0600h) limpia la pantalla lo que queremos hacer.
2. La segunda instrucción (mov bh,07h) nos permite poner un color en la pantalla el 0 es el color que está en el fondo y el 7 es el que está disponible sobre la pantalla, hay diferentes números para cada color el 7 y 0 son solo un ejemplo.

3. La tercera instrucción (mov cx,0000h) es lo que nos permite poner desde donde va a empezar la limpieza de la pantalla.
4. La cuarta instrucción (mov dx,184fh) es lo que nos permite poner hasta donde va a llegar la limpieza de la pantalla.
5. Por último la (int 10h) es la instrucción que nos permite llamar al BIOS y así terminar con el proceso de limpieza.

EJEMPLOS DE CODIGO ENSAMBLADOR
Desplegar un mensaje en pantalla
mov ah, 09h
lea cx, mensage
int 21h

1. En la primera instrucción (mov ah,09h) es lo que nos permite desplegar el mensaje.

2. En la segunda instrucción (lea cx, mensaje) es el que manda a llamar el mensaje en este caso el mensaje se llama "mensaje" por eso después de la coma le puse mensaje este nombre puede variar, debe recordar que al final del mensaje usted tiene que poner el símbolo $ para que el programa vea que es el final del mensaje.

3. En la última instrucción (int 21h) llama al BIOS.

Definiciones de conceptos que tomaran en cuenta más adelante en los ejemplos:
Mnemónico: es una palabra que sustituye a un código de operación (lenguaje de máquina), con lo cual resulta más fácil la programación, es de aquí de donde se aplica el concepto de lenguaje ensamblador.

Opcodes: es la porción de una instrucción de lenguaje de máquina que especifica la operación a ser realizada.
(datasg segment
mensaje db"mi nombre es$"
datasg ends )

EJEMPLOS DE CODIGO ENSAMBLADOR
Posicionar el cursor en cualquier parte de la pantalla
mov ah,02h
mov dh,03h
mov dl,0ch
int 10h

1. En la primera instrucción (mov ah,02h) es lo que nos permite mover el cursor.
2. La segunda instrucción (mov dh,03h) es la dirección de la fila, en este caso se posiciona el cursor en la fila 3 (hexadecimal).
3. En la tercera instrucción (mov dl,0ch) es la dirección de la columna, en esta caso se posiciona el cursor en la columna 12 solo que esta en hexadecimal.
4. Y por ultimo mandamos a llamar al BIOS.


EJEMPLOS DE CODIGO ENSAMBLADOR
Leer un caracter con eco
mov ah,01h
int 21h
1. La primera instrucción (mov ah,01h) es lo que nos permite leer el carácter con eco, cabe destacar que se está utilizando esta función (01h) pero hay otros también .
2. En el último solo mandamos a llamar el BIOS y listo.

EJEMPLOS DE CODIGO ENSAMBLADOR
Leer un caracter sin eco
mov ah,07h
int 21h
1. En la primera instrucción (mov ah,07h) nos permite leer el carácter sin eco, al igual que el código anterior aquí también hay otras funciones mas.
2. Y por ultimo mandamos a llamar al BIOS.

EJEMPLOS DE CODIGO ENSAMBLADOR
Desplegar un solo caracter
mov ah,0eh
mov al, '@'
int 10h

1. En la primera instrucción (mov ah,0eh) es la función para poder imprimir un carácter
2. En la segunda instrucción (mov al, '@') es lo que nos permite imprimir el caracter en este caso el caracter es @ y se almacena en ' al ' en este código es el arroba pero también esto puede variar, por ejemplo para imprimir un caracter del código ASCII solo puedes poner el numero en hexadecimal equivalente al código pero solo se quitan los apostrofes (‘ ' ) es solamente el puro numero pero no olvides que si pones hay directamente el caracter es sin apostrofes.
3. Por último mandamos a llamar al BIOS con la interrupción 21 (int 21h).
Full transcript