Сборка: printf не печатает новую строку
У меня есть следующий код, который печатает количество параметров, переданных./main
, Обратите внимание наfmt
вrodata
раздел. Я включил новую строку\n
как вC, но вместо печати новой строки она печатает:
Количество параметров: 1 \ n
Мой код:
;main.asm
GLOBAL main
EXTERN printf
section .rodata:
fmt db "Number of parameters: %d \n", 0
section .text:
main:
push ebp
mov ebp, esp ;stackframe
push dword[ebp+8] ;prepara los parametros para printf
push fmt
call printf
add esp, 2*4
mov eax, 0 ;return value
leave ;desarmado del stack frame
ret
Я знаю, что в том числе 10 до 0 и после "Число ..." вfmt
напечатаю, но я хочуprintf
сделать это. Я собираю код сNASM а затем связать его черезНКУ создать мой исполняемый файл.