Мне нужно напечатать слово 10 раз в сборке, но приведенный ниже код печатается только 1 раз.Я не вижу проблемы.Кроме того, как я могу удалить нулевые байты?Спасибо.
section .text
global _start ;must be declared for using gcc
_start: ;tell linker entry point
mov si,10
l1:
mov dl, len ;message length
mov ecx, msg ;message to write
mov bl, 1 ;file descriptor (stdout)
mov al, 4 ;system call number (sys_write)
int 0x80 ;call kernel
dec si
JNZ l1
mov al, 1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'test',0xa ; string
len equ $ - msg ;length of string