linux系統調用小實例












上面的代碼中使用了兩種系統調用,
(1) 4號系統調用為寫文件操作,eax為功能號,ebx為文件號,上述代碼中的1 對應的是 標準輸出stdout。
ecx為參數,緩沖區指針。 edx為寫數據的長度。
(2) 1號系統調用,表示退出程序。
代碼編譯方法:
as -o asm.o asm.s
ld -o asm asm.o
運行 ./asm
結果 Hello World
2 感悟
常用的libc下的系統調用都是已經封裝過的,而上述使用到的系統調用則是直接使用內核的方法。
該代碼不使用任何庫,也可以獨立成一個程序。