Я хотел бы указать, что я только начинаю сборку, поэтому у меня действительно 0 опыта.Кроме того, мое - просто любопытство, не спрашивающее, потому что программа не работает или что-то еще.Моя программа представляет собой простой цикл, но я не понимаю, когда я его запускаю, он возвращает значение.Это значение само по себе хорошо, это правильно, но проблема в том, что я не использовал никаких системных вызовов для печати чего-либо.
Код выглядит следующим образом:
global _start
section .text
_start:
mov ebx,1
mov ecx,4
label:
add ebx,ebx
dec ecx
cmp ecx,0
jg label
mov eax,1
int 0x80
Как видите, я просто добавляю ebx и уменьшаю ecx, а в конце вызываю sys_exit и прерывание.Все это хорошо, но, как я уже сказал, дело в том, что когда я запускаю исполняемый файл, он печатает значение из ebx.Это так и должно быть?И если это так, то почему?Из того, что я узнал, мне нужно было выполнить системный вызов для вывода значения, но здесь это не так.