Текст, полученный в sys_read дублируется после закрытия программы дублируется. Из-за того, что он не дублирует первый символ, подумал что дело в 3 аргументе(size buffer), и пытался решить, но без успешно. Что я не так сделал? =((
P.s использую NASM, но думаю дело в том, что я что-то упустил в sys_read
Задумка программы в том, чтобы игнорировать любые символы и вывести текст "Hello world", только по нажатию enter.
P.s использую NASM, но думаю дело в том, что я что-то упустил в sys_read
Задумка программы в том, чтобы игнорировать любые символы и вывести текст "Hello world", только по нажатию enter.
Код:
section .data
buff: db "Hello world!", 0xA
buffLen: equ $-buff
cmpBuff: db ?
section .text
global _start
_start:
mov eax, 3 ; sys_read
mov edx, 0 ; size
loop_1:
mov ebx, 0 ; type
mov ecx, cmpBuff ; buff
add edx, 1 ; ++size
int 0x80
cmp BYTE [ecx], 0xA
jz loop_1
mov eax, 4
mov ebx, 1
mov ecx, buff
mov edx, buffLen
int 0x80
mov eax, 1
mov ebx, 0
int 0x80