【发布时间】:2013-07-23 14:47:46
【问题描述】:
当我比较 $0 和 %eax 以进行错误检查,并在提示时不输入任何内容时,不会显示错误消息。但是,当我将 $1 与 %eax 进行比较并且不输入任何输入时,将显示错误消息。我知道 read 系统调用返回读入 %eax 的字节数,尽管我不确定为什么在没有输入时它返回一个字节被读取,手册页也没有给我任何指示为什么会这样。标准输入输入是空终止的还是其他什么?
movl $3, %eax
movl $0, %ebx
movl $BUFFER, %ecx
movl $BUFFER_SIZE, %edx
int $0x80
cmpl $0, %eax
jle input_error
如果将 cmpl $0 更改为 cmpl $1,并且没有输入,则跳转到 input_error,当没有输入时,cmpl $0 程序流程继续。
【问题讨论】:
-
你能展示你的代码吗?
-
已编辑以包含代码