Volver a la página principal
viernes 24 enero 2025
23

Cómo usar la directiva global en ensamblador

La directiva global en ensamblador se utiliza para hacer que una etiqueta o símbolo sea accesible desde otros módulos o archivos de código. Es comúnmente utilizada en ensambladores como NASM para definir funciones o variables que deben ser visibles externamente, facilitando la vinculación entre múltiples archivos.

¿Qué hace la directiva global en ensamblador?

En ensamblador, la directiva global permite exportar símbolos (como funciones o variables) para que puedan ser utilizados en otros módulos del programa. Esto es esencial para la programación modular, donde se dividen distintas partes del código en archivos separados.

Sintaxis de global en NASM

global nombre_simbolo

Ejemplo de uso

Si tienes un archivo de ensamblador que define una función y deseas utilizarla en otro archivo, puedes hacer lo siguiente:

Archivo: funciones.asm

global mi_funcion  ; Hacer visible la función externamente

section .text
mi_funcion:
    mov eax, 1      ; Cargar valor en EAX
    ret             ; Retornar

Archivo: main.asm

extern mi_funcion  ; Declarar la función definida en otro archivo

section .text
global _start

_start:
    call mi_funcion ; Llamada a la función externa
    mov eax, 60     ; syscall exit
    xor edi, edi    
    syscall

Proceso de ensamblado y enlace

Para ensamblar y enlazar estos archivos, puedes usar los siguientes comandos en NASM y el enlazador GNU (ld):

nasm -f elf64 funciones.asm -o funciones.o
nasm -f elf64 main.asm -o main.o
ld main.o funciones.o -o programa
./programa

Consideraciones sobre el uso de global

  • Se utiliza en conjunto con la directiva extern en otros archivos para declarar la función o variable.
  • Debe colocarse antes de la definición del símbolo.
  • Es útil en la creación de bibliotecas o módulos reutilizables.
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer