看板 ASM 關於我們 聯絡資訊
小弟在linux上,使用AT&T的語法,想要印出字元'0',可是程式執行後,stdout的輸出是 空白的!!! 程式如下: .section .text .globl main main: movl $4, %eax # 用途不明... 應該是設定系統呼叫 movl $1, %ebx # stdout == 1 movl $48, %ecx # ascii '0' == 48(D) movl $42, %edx # 用途不明 應該也是設定系統呼叫吧... int $0x80 movl $1, %eax # 設定系統呼叫 exit movl $0, %ebx # 以 0 退出 int $0x80 不知到這程式有什麼錯誤的地方嗎? 還是小弟有什麼認知上的問題? 感謝各位大大解答!!! -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.136.120 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1426085964.A.748.html ※ 編輯: OPIV (114.37.136.120), 03/11/2015 23:06:15
mshockwave: ecx好像是要給offset 不是直接給值 03/12 01:01
johnpage: 參數位置怎麼怪怪的 03/12 05:47