我想说明我刚刚开始组装,所以我真的有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打印出值。这应该是怎么回事?如果是,为什么?从我到目前为止所学到的,我需要执行一个系统调用来打印一个值,但这不是这样的。