lunes, 23 de junio de 2025

Lenguaje Ensamblador

 

Lenguaje Ensamblador (Assembly Language)

 

Es un lenguaje de programación de bajo nivel que permite escribir instrucciones entendibles por el procesador. Usa códigos simples como MOV, ADD, SUB, que se traducen casi directamente a lenguaje máquina. Es específico para cada tipo de procesador y se necesita un programa llamado ensamblador para convertirlo en código ejecutable. Se usa cuando se necesita máximo control del hardware, como en sistemas operativos, controladores o programación embebida.

 

Historia

El lenguaje ensamblador, o Assembly, es un lenguaje de programación de bajo nivel que fue desarrollado en los años 1940s y 1950s para facilitar la programación de computadoras en lugar de usar directamente el lenguaje máquina (código binario). Es el lenguaje más cercano al lenguaje de la CPU, lo que permite controlar el hardware directamente.

 

¿Quién lo creó?

El lenguaje ensamblador no tiene un único creador, ya que ha evolucionado con las arquitecturas de cada procesador. Sin embargo, uno de los primeros sistemas de ensamblador fue desarrollado por Kathleen Booth en 1947, quien escribió uno de los primeros lenguajes ensambladores para la computadora ARC en el Reino Unido.


¿Cuando se creo?

El lenguaje ensamblador se desarrolló en la década de 1940, como una manera de simplificar la programación en comparación con el código máquina. Permitió a los programadores utilizar mnemotécnicos en lugar de números binarios, facilitando la escritura y el entendimiento del código.


 

País de origen

Reino Unido (UK) – desarrollado en el contexto de investigación en computación de la Universidad de Birkbeck.


Codigos:

 

1.    Hola Mundo con función

 

 section .data

    msg db 'Hola Mundo', 0xA

    len equ $ - msg

 

section .text

    global _start

 

_start:

    mov eax, 4          ; syscall: write

    mov ebx, 1          ; file descriptor: stdout

    mov ecx, msg        ; message to write

    mov edx, len        ; message length

    int 0x80            ; interrupt

 

    mov eax, 1          ; syscall: exit

    xor ebx, ebx        ; exit code 0

    int 0x80


 

2.    Sumar y mostrar resultado con funciones

 

nasm

Copiar

Editar

section .text

    global _start

 

_start:

    mov eax, 5      ; primer número

    mov ebx, 3      ; segundo número

    add eax, ebx    ; eax = eax + ebx

 

    ; Salir del programa

    mov eax, 1

    xor ebx, ebx

    int 0x80


3.    Bucle que imprime del 5 al 1 con funciones

 

nasm

Copiar

Editar

section .text

    global _start

 

_start:

    mov ecx, 5      ; contador

 

loop_start:

    ; aquí podrías hacer algo, como imprimir (omitido por simplicidad)

    loop loop_start

 

    ; salir

    mov eax, 1

    xor ebx, ebx

    int 0x80


Tamaño de almacenamiento (estimado)

El lenguaje ensamblador en sí no es un software, sino una forma de codificar instrucciones. Pero un ensamblador típico (como NASM, MASM o GNU Assembler) puede ocupar aproximadamente:

Entre 1 MB y 10 MB, dependiendo de la versión y plataforma.


Diagrama de flujo:



 

 

 


 


 

 

 Opinión:

El lenguaje ensamblador es complicado, pero sirve mucho cuando se necesita que un programa sea rápido y funcione bien con el hardware.

 


Referencias bibliográficas:

 

https://www.elsevier.com/books/computer-organization-and-design/patterson/978-0-12-812275-4

más información 

https://computerhistory.org/profile/kathleen-booth/

más información 





Más información 




Lenguaje Ensamblador

  Lenguaje Ensamblador (Assembly Language)   Es un lenguaje de programación de bajo nivel que permite escribir instrucciones entendibles po...