Почему мой регистр печатает значение самостоятельно (без использования какого-либо системного вызова)? - PullRequest
0 голосов
/ 25 мая 2018

Я хотел бы указать, что я только начинаю сборку, поэтому у меня действительно 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.Это так и должно быть?И если это так, то почему?Из того, что я узнал, мне нужно было выполнить системный вызов для вывода значения, но здесь это не так.

...