Assembly 对linux的sys_read系统调用放在寄存器eax中的是什么?

Assembly 对linux的sys_read系统调用放在寄存器eax中的是什么?,assembly,nasm,Assembly,Nasm,在汇编程序中进行系统调用sys_read(int80h,eax中的值为3)时,在进行调用后,寄存器eax中将存储什么?是读取的字符串中的字符数吗?检查文档: 返回值 成功后,返回读取的字节数(零表示文件结束),文件位置按此数字前进。它是 如果此数字小于字节数,则不是错误 请求;例如,这可能是因为需要的字节更少 现在实际可用(可能是因为我们接近 文件结尾,或者因为我们正在从管道或 终端),或者因为read()被信号中断打开 返回错误-1,并正确设置了errno。在这个 案例未指定文件位置(如果有)

在汇编程序中进行系统调用sys_read(int80h,eax中的值为3)时,在进行调用后,寄存器eax中将存储什么?是读取的字符串中的字符数吗?

检查文档:

返回值

成功后,返回读取的字节数(零表示文件结束),文件位置按此数字前进。它是 如果此数字小于字节数,则不是错误 请求;例如,这可能是因为需要的字节更少 现在实际可用(可能是因为我们接近 文件结尾,或者因为我们正在从管道或 终端),或者因为
read()
被信号中断打开 返回错误-1,并正确设置了
errno
。在这个 案例未指定文件位置(如果有) 变化

提示:要查找
sys\u foo
的文档,请键入
man 2 foo
2
表示检查文档:

返回值

成功后,返回读取的字节数(零表示文件结束),文件位置按此数字前进。它是 如果此数字小于字节数,则不是错误 请求;例如,这可能是因为需要的字节更少 现在实际可用(可能是因为我们接近 文件结尾,或者因为我们正在从管道或 终端),或者因为
read()
被信号中断打开 返回错误-1,并正确设置了
errno
。在这个 案例未指定文件位置(如果有) 变化


提示:要查找
sys\u foo
的文档,请键入
man 2 foo
2
的意思是。

正确,但出现错误时,
eax
中的-ERRNO与手册页中的-1不同。从终端(stdin)读取
eax
中的计数包括结束输入的换行符(0xA)。正确,但出现错误时,
eax
中的-ERRNO,而不是手册中所说的-1。从终端(stdin)读取
eax
中的计数包括结束输入的换行符(0xA)。