作者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/cn.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