lenguajeensamblador.ppt

June 18, 2019 | Author: Kmilo Correa | Category: Assembly Language, Computer Programming Tools, Computer Science, Computing, Tecnología
Share Embed Donate


Short Description

Download lenguajeensamblador.ppt...

Description

Lenguaje Ensamblador o  Assembler

Características del Lenguaje  Assembler bajo Windows Windows  Assembler bajo Linux Linux Ing. Esp. Milton Hernández Zakzuk

Características • Es un lenguaje de bajo nivel. • Es un lenguaje nemónico. • Es ejecutado directamente por la máquina. • Se puede escribir cualquier programa en él. • Se utiliza para la manipulación directa del hardware. • Originó la evolución del compilador. Ing. Esp. Milton Hernández Zakzuk

Ventajas y Desventajas • Velocidad. • Eficiencia de Tamaño. • Flexibilidad.  – En lenguajes de alto nivel existen ciertas limitantes que no permiten hacer tareas específicas.

• Tiempo de programación. • Dificulta el mantenimiento de los programas. • Riesgo de afectar recursos inesperadamente. • Falta de portabilidad.

Ing. Esp. Milton Hernández Zakzuk

 Assembler bajo Windows • Podemos usar herramientas como Debug, la cual viene incorporada en el sistema (vino incorporado hasta WinXP). También podemos usar herramientas como NASM, MASM, TASM, etc. Las cuales proporcionan una mayor estructura o macro ensamblador para los programas.

Ing. Esp. Milton Hernández Zakzuk

Formato de Líneas de Código • Etiqueta: nemónico operando ;comentario  – Ejemplo:  – Itera: mov cx, 0100 ; cx es el contador

• Nombre acción operando  – Ejemplo:  – Numero equ 0100  – Variable db ‘contenido de variable’

Ing. Esp. Milton Hernández Zakzuk

Ejemplo con Debug • • • • • • • • • •

-a 100 [enter] Jmp 125 [enter] [enter] E 102 ‘ Hola Mundo’ 0d 0a ‘$’ [enter] a 125 [enter] Mov ah, 06 [enter] Mov bh, 02 [enter] Mov al, 00 [enter] Mov cx, 00 [enter] Mov dx, 30a0 [enter] 31b1

• • • • • • • • •

Int 10 [enter] Mov cx, 0014 [enter] Mov dx, 0102 [enter] Mov ah, 09 [enter] Int 21 [enter] Loop int 21 Int 20 [enter] [enter] Para ejecutar escriba g y la dirección de int 20

Ing. Esp. Milton Hernández Zakzuk

Estructura de un programa en Ensamblador ;definimos el modelo de memoria .model small .code ;segmento de código Empieza ;etiqueta del programa mov ax, @data ;inicia DS con la dirección de @data mov ds, ax mov dx, offset mensaje ;dirección de mensaje en Dx para poderlo mostrar mov ah, 09 ;usamos la interrupción 21 int 21h mov ax, 4c00 ;función 4c para terminar normalmente Int 21h .data ;segmento de datos mensaje DB ‘Hola Mundo .$’ ;cadena a mostrar

.stack ;segmento de pila, en este caso esta vacío. End Empieza Ing. Esp. Milton Hernández Zakzuk

Bajo Linux • Puedes utilizar la sentencia AT&T ó Intel. • Puedes utilizar herramientas como GAS (GNU Assembler), nasm, yasm, etc. O para mayor facilidad puedes usar el compilador gcc. • Gcc reconoce sintaxis en ensamblador para los archivos terminados en .s • gcc programa.s -o programa Ing. Esp. Milton Hernández Zakzuk

Bajo Linux • #######

• .global main

• # Programa con sintaxis  AT&T

• main:

• # compilado con: gcc ya.s -o ya • # ejecutado: ./ya • #######

• movl $4,%eax • movl $1,%ebx • movl $hola,%ecx • movl $14,%edx

• .data

• int $0x80

• hola: • .string "hola Mundo...\n"

• ret

Ing. Esp. Milton Hernández Zakzuk

Referencias Bibliográfica • http://es.wikipedia.org/wiki/Lenguaje_ensa mblador • http://es.wikipedia.org/wiki/Ensamblador • http://www.monografias.com/trabajos14/le nguaje-ensamblador/lenguajeensamblador.shtml • http://www.eghost.deusto.es/docs/ensamblador.pdf Ing. Esp. Milton Hernández Zakzuk

Referencias Bibliográfica • http://www.drpaulcarter.com/pcasm/ • http://homepage.mac.com/eravila/asmix86 .html

Ing. Esp. Milton Hernández Zakzuk

Ejercicio de Práctica • Cambie el programa Hola Mundo para que muestre dos mensajes 25 veces cada uno.  – Usando otras instrucciones repetitivas.  – Usando un texto de color diferente en cada línea de mensaje.

Ing. Esp. Milton Hernández Zakzuk

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF