Hello world! means Hello world! but in Spanish
program mundo.asm:
org 0x7C00
mov si, msg
call print_string
jmp $
print_string:
lodsb
or al, al
jz .done
mov ah, 0x0E
int 0x10
jmp print_string
.done:
ret
msg db 'Hola Mundo!', 0
times 510 - ($ - $$) db 0
dw 0xAA55
This code is for x86 architecture in real mode (16-bit).
first you need to install nasm, on mac it is:
brew install nasm
then you create the binary:
nasm -f bin mundo.asm -o hola_mundo.bin
then you need to create an image file:
dd if=/dev/zero of=hola_mundo.img bs=512 count=1
dd if=hola_mundo.bin of=hola_mundo.img bs=512 conv=notrunc

This is because qemu reads images
then run qemu on the image and a terminal with qemu will open:
qemu-system-x86_64 -drive file=hola_mundo.img,format=raw
