section .data
mensaje db 'Hola Mundo!', 0 ; Mensaje a imprimir (terminado con un byte nulo)
section .text
global _start
_start:
; Cargar dirección del mensaje en registro ebx
mov ebx, mensaje
; Llamada al sistema para imprimir en la consola (sys_write)
mov eax, 4 ; Número de llamada al sistema para sys_write
mov ecx, ebx ; Puntero al mensaje
mov edx, 12 ; Longitud del mensaje (sin contar el byte nulo)
int 0x80 ; Interrupción 0x80 para invocar la llamada al sistema
; Salir del programa (sys_exit)
mov eax, 1 ; Número de llamada al sistema para sys_exit
xor ebx, ebx ; Código de salida 0
int 0x80 ; Interrupción 0x80 para invocar la llamada al sistema
c2VjdGlvbiAuZGF0YQogICAgbWVuc2FqZSBkYiAnSG9sYSBNdW5kbyEnLCAwICAgOyBNZW5zYWplIGEgaW1wcmltaXIgKHRlcm1pbmFkbyBjb24gdW4gYnl0ZSBudWxvKQoKc2VjdGlvbiAudGV4dAogICAgZ2xvYmFsIF9zdGFydAoKX3N0YXJ0OgogICAgOyBDYXJnYXIgZGlyZWNjacOzbiBkZWwgbWVuc2FqZSBlbiByZWdpc3RybyBlYngKICAgIG1vdiBlYngsIG1lbnNhamUKCiAgICA7IExsYW1hZGEgYWwgc2lzdGVtYSBwYXJhIGltcHJpbWlyIGVuIGxhIGNvbnNvbGEgKHN5c193cml0ZSkKICAgIG1vdiBlYXgsIDQgICAgICAgICA7IE7Dum1lcm8gZGUgbGxhbWFkYSBhbCBzaXN0ZW1hIHBhcmEgc3lzX3dyaXRlCiAgICBtb3YgZWN4LCBlYnggICAgICAgOyBQdW50ZXJvIGFsIG1lbnNhamUKICAgIG1vdiBlZHgsIDEyICAgICAgICA7IExvbmdpdHVkIGRlbCBtZW5zYWplIChzaW4gY29udGFyIGVsIGJ5dGUgbnVsbykKICAgIGludCAweDgwICAgICAgICAgICA7IEludGVycnVwY2nDs24gMHg4MCBwYXJhIGludm9jYXIgbGEgbGxhbWFkYSBhbCBzaXN0ZW1hCgogICAgOyBTYWxpciBkZWwgcHJvZ3JhbWEgKHN5c19leGl0KQogICAgbW92IGVheCwgMSAgICAgICAgIDsgTsO6bWVybyBkZSBsbGFtYWRhIGFsIHNpc3RlbWEgcGFyYSBzeXNfZXhpdAogICAgeG9yIGVieCwgZWJ4ICAgICAgIDsgQ8OzZGlnbyBkZSBzYWxpZGEgMAogICAgaW50IDB4ODAgICAgICAgICAgIDsgSW50ZXJydXBjacOzbiAweDgwIHBhcmEgaW52b2NhciBsYSBsbGFtYWRhIGFsIHNpc3RlbWE=