Función "Hola mundo" sin usar C printf
ACTUALIZADO
Es mi segundo día trabajando conNASM
. Después de entender esto a fondo
section .programFlow
global _start
_start:
mov edx,len
mov ecx,msg
mov ebx,0x1 ;select STDOUT stream
mov eax,0x4 ;select SYS_WRITE call
int 0x80 ;invoke SYS_WRITE
mov ebx,0x0 ;select EXIT_CODE_0
mov eax,0x1 ;select SYS_EXIT call
int 0x80 ;invoke SYS_EXIT
section .programData
msg: db "Hello World!",0xa
len: equ $ - msg
Quería envolver estas cosas dentro de una función de ensamblaje. Todos (o la mayoría de) los ejemplos en la web están usandoextern
y llamandoprintf
funcion deC
(vea el código a continuación) - y no quiero eso. Quiero aprender a crear una función "Hello World" en el ensamblaje sin usarC
printf
(o incluso otras llamadas a funciones externas).
global _main
extern _printf
section .text
_main:
push message
call _printf
add esp, 4
ret
section .data
message: db "Hello, World", 10, 0
Actualizar
Estoy practicando el ensamblado para Linux, pero como no tengo una caja de Linux, estoy ejecutando mi código de ensamblaje aquícompile_assembly_online.