Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema : ASSEMBLER.
Código : 2016140462
Ciclo : X
LIMA - 2021
INDICE
INTRODUCCIÓN.......................................................................................................................3
I. MARCO TEÓRICO.........................................................................................................4
1. ¿Qué es un lenguaje de programación?................................................................4
2. ¿Qué tipo de lenguaje de programación existen?..............................................5
3. Historia del Lenguaje Ensamblador........................................................................6
4. ¿Qué es el Lenguaje Ensamblador?.......................................................................9
5. Características del Lenguaje Ensamblador........................................................10
6. Tipos de Ensambladores.........................................................................................12
7. Como es un programa en lenguaje ensamblador.............................................13
8. Conjunto de instrucciones......................................................................................14
9. El programa Debug...................................................................................................14
10. Ejemplos de Lenguaje Ensamblador................................................................15
11. Aplicaciones del Lenguaje Ensamblador........................................................16
CONCLUSIONES....................................................................................................................20
REFERENCIAS BIBLIOGRÁFICAS....................................................................................21
2
INTRODUCCIÓN
3
I. MARCO TEÓRICO.
4
El lenguaje de programación es estos casos, y en muchos más, es utilizado
para que el programador pueda comunicarse con el hardware o el software
del equipo y proporcionarle los aspectos básicos y avanzados de su
comportamiento, como por ejemplo con cuáles datos debe operar, cómo
deben ser almacenados, transmitidos o tratados esos datos y finalmente la
acción que debe tomar el software o hardware con estos datos dependiendo
de las diferentes variables que se hayan impuesto.
Lenguaje máquina
El llamado “Lenguaje máquina” es uno de los lenguajes más viejos que
existen; se forma mediante la combinación de “1” y “0”, es decir que es un
lenguaje que sólo usa el sistema binario. Esto es así debido a que este es el
único sistema que los dispositivos y computadoras son capaces de
interpretar.
5
Lenguaje de programación de bajo nivel
La función básica de este lenguaje de programación es la de actuar a modo
de interfaz entre el hardware y el software de un determinado dispositivo.
Lenguaje ensamblador
El lenguaje sobre el cual estamos profundizando en este artículo. El
lenguaje ensamblador fue el primer intento en la búsqueda de un sustituto
más sencillo de comunicarse de forma directa con el hardware de un
dispositivo. Este tipo de lenguajes actúan como conversores, ya que los
dispositivos utilizan el lenguaje binario, y el programador un lenguaje de
programación más flexible y sencillo de usar, llamado lenguaje de alto nivel.
6
mayo de 1949, y que utilizaba nemotécnicos, desarrollado por Beatrice
Worsley.
7
Tras la implementación de estos primeros lenguajes ensambladores, su
éxito fue creciendo de manera exponencial, ya que ofrecía muchas ventajas,
sobre todo a los técnicos en programación de la época, que podían
desligarse de ciertas tareas como la de recordar largas secuencias de
números y códigos, además ofrecían un tamaño mínimo, algo fundamental
en aquellos tiempos de las primeras computadoras comerciales, alta
velocidad, y sobre todo una probada y eficaz confiabilidad, aunque también
pueda deberse a la falta de compiladores de lenguaje de alto nivel
diseñados específicamente para poder ser utilizados en este tipo de
microcomputadores.
Figura 4. Programación en C
8
Si bien su uso se ha visto reducido, lo cierto es que en la actualidad, el
lenguaje ensamblador todavía es ampliamente utilizado en infinidad de
implementaciones, ya que por sus características permite comunicarse de
forma directa con el hardware, con lo cual podemos llevar a cabo tareas con
dispositivos que de otro modo sería imposible, como por ejemplo la creación
de códigos de arranque, la ingeniería inversa, la manipulación y
programación de hardware y mucho más.
9
determinado procesador o microprocesador realice una determinada acción,
dependiendo de su arquitectura y tipo.
10
lenguaje de máquina, es necesario tener un lenguaje que oficie de
intermediario. Esta es la función básica de un lenguaje ensamblador.
11
recursos del sistema, y mucho más rápidos también. Un programa
desarrollado en lenguaje ensamblador puede ser bastante más eficiente que
un programa desarrollado en un lenguaje de alto nivel, sin embargo, gracias
a los compiladores de los lenguajes de programación de alto nivel actuales,
esta característica es cada vez menos requerida, ya que se mediante estos
lenguajes se pueden crear también programas muy eficientes en términos
de velocidad y estabilidad.
6. Tipos de Ensambladores
12
Microensambladores: Este tipo de ensambladores le proporciona al
interprete instrucciones precisas de cómo debe llevar a cabo la CPU una
determinada tarea.
13
(Stack) Segmento de código: Contiene la dirección de inicio donde se
encuentran las instrucciones del programa. Se escribe todo el código
del programa a desarrollar.
(Data) Segmento de pila: Contiene la dirección donde se encuentra la
pila.
(Code) Segmento Extra: Contiene la dirección donde podemos
almacenar datos extras.
8. Conjunto de instrucciones.
9. El programa Debug.
14
Microsoft con algunas características especiales y algunas comodidades en
el entorno gráfico hacia el usuario.
Al igual que todos los aplicativos, el programa Debug contiene una serie de
comandos que permiten realizar las acciones necesarias para la
codificación, decodificación, ensamblaje y volcado de la memoria, entre
otros.
.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code
programa:
mov ax, @data
mov ds, ax
15
mov dx, offset Cadena1
mov ah, 9
int 21h
int 20h
end programa
16
En este sentido, los lenguajes de programación orientados a objetos han
permitido crear desarrollos de software enormes, lo que sería imposible de
llevar a cabo mediante un lenguaje ensamblador, debido fundamentalmente
a que son millones de líneas de código, y recordando que cada orden del
lenguaje ensamblador equivale a una instrucción en un procesador, podían
tardarse años en escribir softwares complejos y enormes como los actuales.
Figura 9. Videojuegos
17
más fáciles de implementar, ya que básicamente les permite tener altos
valores de eficiencia, debido a que el software interactúa directamente
con el hardware.
18
un resultado. Sin un controlador de dispositivos sería imposible utilizar un
hardware.
19
CONCLUSIONES.
20
REFERENCIAS BIBLIOGRÁFICAS.
21