0
當我比較$ 0和%eax進行錯誤檢查,並在出現提示時不輸入任何輸入時,不會顯示錯誤消息。但是,當我將$ 1與%eax進行比較並輸入任何輸入時,都會顯示錯誤消息。我知道一個讀系統調用會返回讀入%eax的字節數量,雖然我不確定爲什麼它返回的字節在沒有給出輸入時被讀取,但手冊頁也沒有給我任何指示爲什麼是這種情況。 stdin輸入是否以null結尾或者是其他內容?x86彙編(Linux)stdin讀系統調用時返回1,沒有數據輸入
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程序流程進行。
你可以顯示你的代碼? – lurker
修改爲包含代碼 – crhodes