Anda di halaman 1dari 15

UNIVERSIDAD TECNOLOGICA DE HONDURAS

CLASE: Lenguaje de Maquina

Nombre Tarea: Tarea de Investigación Lenguaje Ensamblador

Catedrática: Ing Clenia Ochoa

Estudiante: N# Cuenta

 Cristian Reniery Abarca Varela 201420060113

Fecha de entrega: 6 de Noviembre 2017


Índice

Introducción ....................................................................................................... 1

Objetivos .............................................................................................................. 2

Breve Reseña Histórica de Lenguaje Ensamblador .................................. 3

Características.................................................................................................... 5

Ventajas del Lenguaje Máquina. ................................................................... 6

Desventajas del Lenguaje Máquina. ............................................................. 6

Instrucciones Básicas en Lenguaje Ensamblador ...................................... 7

Tipos de Interfaces (Programas) de Lenguaje Ensamblador ................. 8

Tipos de Lenguaje Ensamblador ................................................................ 10

El código fuente............................................................................................... 11

Anexos ............................................................................................................... 12

Conclusión ........................................................................................................ 13
Introducción

El estudio de los lenguajes de programación requiere a su vez comprender perfectamente

los tipos de lenguajes de programación que existen y la clasificación comúnmente aceptada

que a éstos se les da.

Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y

clasificar correctamente los tipos de lenguajes de programación, conociendo sus

aplicaciones y los beneficios o desventajas que ofrece cada uno de ellos, Trata de conocer

su historia del lenguaje Ensamblador.

1
Objetivos

Objetivo general:

Conocer los tipos de lenguajes de programación Lenguaje de Maquina y la clasificación

que comúnmente se les da.

Objetivos específicos:

Determinar qué son los lenguajes de programación Lenguaje de Maquina declarativos y a la

vez los lenguajes que forman parte de este grupo.

Diferenciar los lenguajes de bajo nivel (lenguaje máquina) de los lenguajes de alto nivel

2
Breve Reseña Histórica de Lenguaje Ensamblador

Primera Generación

El lenguaje de programación de primera generación (por sus siglas en inglés: 1GL), es

el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de

forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y

por lo tanto es raro que una persona lo use directamente.

Segunda Generación

El lenguaje de programación de segunda generación (por sus siglas en inglés: 2GL), es

el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es

lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe

conocer la arquitectura del microprocesador (como por ejemplo las particularidades de

sus registros o su conjunto de instrucciones).

El lenguaje ensamblador, o assembler (en inglés assembly language y la

abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto

de mnemónicos que representan instrucciones básicas 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 de

3
procesador y constituye la representación más directa del código máquinaespecífico para

cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su

propio lenguaje ensamblador que usualmente es 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

Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el

desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración.

Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad

de macro (descrita más abajo), y se llaman macro ensambladores.

Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se

contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se

utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando

se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos

controlado y reducido.

4
Características

 El código escrito en lenguaje ensamblador posee una cierta dificultad de ser

entendido directamente por un ser humano ya que su estructura se acerca más bien

al lenguaje máquina, es decir, lenguaje de bajo nivel.

 El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para

un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad

para poder ser usado en otra máquina distinta, aun con el mismo Microprocesador,

solo pueden ser reutilizados secciones especiales del código programado.

 Los programas hechos en lenguaje ensamblador, al ser programado directamente

sobre Hardware, son generalmente más rápidos y consumen menos recursos del

sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje

ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan

menos espacio que con lenguajes de alto nivel.

 Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas

por un Microprocesador por lo que se pueden crear segmentos de código difíciles de

programar en un lenguaje de alto nivel.

 También se puede controlar el tiempo en que tarda una Rutina en ejecutarse, e

impedir que se interrumpa durante su ejecución.

 El lenguaje ensamblador es un código estructurado y gravitatorio desarrollado sobre

un archivo de programación (.ASM), en el cual pueden existir varios programas,

macros o rutinas que pueden ser llamados entre si.

5
Ventajas del Lenguaje Máquina.

Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de

traducción posterior, lo que supone una velocidad de ejecución superior a

cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina.

 Dificultad y lentitud en la codificación.

 Poca fiabilidad.

 Gran dificultad para verificar y poner a punto los programas.

 Los programas solo son ejecutables en el mismo procesador (CPU)

6
Instrucciones Básicas en Lenguaje Ensamblador

Instrucciones de transferencia Son utilizadas para mover los contenidos de los operando.

Cada instrucción se puede usar con diferentes modos de direccionamiento.

MOV

MOVS (MOVSB) (MOVSW)

Instrucciones de carga Son instrucciones específicas de los registros. Son usadas para

cargar en algún registro bytes o cadenas de bytes.

LODS (LODSB) (LODSW)

LAHF

LDS

LEA

LES

Instrucciones de la pila Estas instrucciones permiten el uso de la pila para almacenar y

extraer datos.

POP

POPF

PUSH

7
Tipos de Interfaces (Programas) de Lenguaje Ensamblador

 MPLAB: MPLAB es un editor IDE gratuito, destinado a productos de la

marca Microchip. Este editor es modular, permite seleccionar los distintos micro

controladores soportados, además de permitir la grabación de estos circuitos

integrados directamente al programador.

 ISIS 7: El Programa ISIS, Intelligent Schematic Input System (Sistema de

Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico

del circuito que se desea realizar con componentes muy variados, desde

simples resistencias, hasta alguno que otro microprocesador o microcontrolador,

incluyendo fuentes de alimentación, generadores de señales y muchos otros

componentes con prestaciones diferentes.

8
 PIC BASIC: Este es un lenguaje de alto nivel ya que utiliza sencillas instrucciones

y es más comprensible por nosotros, en comparación con otros lenguajes como el

Ensamblador. El PIC BASIC está diseñado para ser un entorno "amigable" y que

no nos complique mucho en la programación.

9
Tipos de Lenguaje Ensamblador

ENSAMBLADORES CRUZADOS: permiten el soporte de medios físicos como

pantallas, impresoras, teclado, etc. y la programación que ofrecen maquinas

potentes que luego serán ejecutados en sistemas especializados.

ENSAMBLADORES RESIDENTES: permanecen en la memoria de la

computadora, y cargan para su ejecución al programa objeto producido. Es el

indicado para el desarrollo de pequeños sistemas de control.

MACROENSAMBLADORES: permiten el uso de macroinstrucciones, son

programas grandes que no permanecen en memoria una vez que se a generado el

código objeto, normalmente son programas complejos y residentes.

MICROENSAMBLADORES: Indica al interprete las instrucciones de cómo debe

actuar la CPU.

ENSAMBLADORES DE UNA FASE: leen una línea de programa fuente y la

traducen directamente para producir una instrucción en lenguaje máquina, estos

ensambladores son sencillos, baratos y ocupan poco espacio.

ENSAMBLADORES DE DOS FASES: se llaman así por que realizan la

traducción en dos etapas, en la primera fase revisan el código fuente y lo construyen

en una tabla de símbolos.

10
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 separadas 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

11
Anexos

12
Conclusión

•Como conclusión podemos decir que el lenguaje ensamblador es más que un tipo de

lenguaje de bajo nivel en el cual es empleado para crear programas informáticos.

•Este lenguaje es creado a base de instrucciones para intentar sustituir al lenguaje maquina

por uno similar utilizado por el hombre.

•La importancia de este es que en él se pueden hacer cualquier tipo de programas que en otros

lenguajes de alto nivel no, al igual que ocupan menos espacio en la memoria.

•Una de las cosas importantes es que esta ocupado al diseño de las tarjetas madres, cosa que

un programa común no podría hacer

13

Anda mungkin juga menyukai