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.
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.
global
en NASM
global nombre_simbolo
Si tienes un archivo de ensamblador que define una función y deseas utilizarla en otro archivo, puedes hacer lo siguiente:
funciones.asm
global mi_funcion ; Hacer visible la función externamente
section .text
mi_funcion:
mov eax, 1 ; Cargar valor en EAX
ret ; Retornar
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
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
global
extern
en otros archivos para declarar la función o variable.
Jorge García
Fullstack developer