linux系統(tǒng)調(diào)用小實(shí)例












上面的代碼中使用了兩種系統(tǒng)調(diào)用,
(1) 4號(hào)系統(tǒng)調(diào)用為寫文件操作,eax為功能號(hào),ebx為文件號(hào),上述代碼中的1 對(duì)應(yīng)的是 標(biāo)準(zhǔn)輸出stdout。
ecx為參數(shù),緩沖區(qū)指針。 edx為寫數(shù)據(jù)的長度。
(2) 1號(hào)系統(tǒng)調(diào)用,表示退出程序。
代碼編譯方法:
as -o asm.o asm.s
ld -o asm asm.o
運(yùn)行 ./asm
結(jié)果 Hello World
2 感悟
常用的libc下的系統(tǒng)調(diào)用都是已經(jīng)封裝過的,而上述使用到的系統(tǒng)調(diào)用則是直接使用內(nèi)核的方法。
該代碼不使用任何庫,也可以獨(dú)立成一個(gè)程序。
posted on 2010-10-23 20:46 kahn 閱讀(199) 評(píng)論(0) 編輯 收藏 引用