作者OPIV (Monitor)
看板ASM
標題[問題] 系統呼叫問題
時間Wed Mar 11 22:59:22 2015
小弟在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://webptt.com/m.aspx?n=bbs/ASM/M.1426085964.A.748.html
※ 編輯: OPIV (114.37.136.120), 03/11/2015 23:06:15
1F:→ mshockwave: ecx好像是要給offset 不是直接給值 03/12 01:01
2F:推 johnpage: 參數位置怎麼怪怪的 03/12 05:47