extern io_print_string
section .data
msg db `Hello world!!!\n`, 0
section .text
global main
main:
; This is a comment
mov eax, msg
call io_print_string
xor eax, eax
ret
Этот код выводит строку "Hello world!!!" с переводом строки на экран, используя внешнюю функцию `io_print_string`. Программа завершается с кодом 0.
- В строке `msg db ...` используется обратная кавычка, но в NASM32 строки обычно задаются в одинарных или двойных кавычках. Проверьте, поддерживает ли ваш ассемблер такой синтаксис.
- Функция `io_print_string` ожидает адрес строки в регистре `eax`, но в коде в `eax` помещается адрес метки `msg`, а не сама строка. Убедитесь, что вы передаёте правильный аргумент.