Hola mundo en ensamblador x86_64 64 BITS (INTEL)

Posted by Labels: at


 

HOLA MUNDO 

Antes de comenzar asegurate de poder escribir y ejecutar programas. Generalmente se usa  nasm  en una plataforma linux. Pero podemos hacerlo de manera virtual en linea a traves de la siguiente página.www.mycompiler.io 

 NASM es un ensamblador libre para la arquitectura x86, que nos permite  ensamblar código en el lenguaje ensamblador. 

Para instalar en el sistema linux primero descargamos los paquetes necesarios

sudo apt-get update

sudo apt-get -y install nasm

Colocamos nuestra contraseña y esperamos a que se instalen los paquetes.

Tambien es necesario aclarar que el código maquina generado por el ensamblador no se puede ejecutar por si solo. Tenemos que vincularlo a un binario ELF, y para esto necesitamos un linkeador. 

Para linkear nuestro codigo objeto instalamos la siguiente herramienta 

sudo apt update

sudo apt-get install binutils

Para crear nuestro primer ejecutable en ensamblador abrimos nuestro editor de codigo de preferencia y copiamos el siguiente codigo de ejemplo:

section .data

    msg db "Hello world!", 0ah


section .text

    global _start


_start:

    mov rax, 1

    mov rdi, 1

    mov rsi, msg

    mov rdx, 13

    syscall

    mov rax, 60

    mov rdi, 0

    syscall


Lo guardamos con extension .asm   por ejemplo hello.asm 

Para ensamblarlo nos colocamos en el directorio donde esta el archivo y escribimos 

nasm -f elf64 -o hello.o hello.asm

verificamos que ahora tenemos dos archivos, el hello.asm y el hello.o

Ahora vamos a linkear el hello.o , para eso escribimos 

ld -o hello hello.o

Y ahora simplemente ejecutamos el programa como cualquier otro 

./hello


Ejecutar ejemplo



Back to Top