我是Linux的新手,用於彙編程序設計(GAS)和英語。所以,如果我寫錯了,抱歉。我希望谷歌翻譯能夠幫到我,寫得不錯。當我編寫系統調用時,Linux會做什麼?
我想知道如何將一組數字(存儲在.data
中)寫入文本文件中,而無需調用任何庫中的函數(如printf()
),並且只通過彙編程序進行操作。我不想要現成的解決方案。我想知道我的寫入調用後Linux內核的功能。怎麼運行的?它是如何設計的?
我試圖將數字列表打印到STDOUT中,但我在終端中收到奇數號。我認爲這是因爲我不明白如何正確使用寫入系統調用。
這是我得到了現在
.section .data
list: .long 12, 31, 42
.section .text
.globl _start
_start:
movl $4, %eax
movl $1, %ebx
movl $list, %ecx
movl $12, %edx
int $0x80
movl $1, %eax
movl $0, %ebx
int $0x80
此代碼工作正常.ascii "Hello world\0"
,而不是號碼列表。
這是一個令人難以置信的廣泛的主題,需要相當多的背景知識來了解我懷疑你沒有的東西。你可能想把它分解成一些大小的塊,向我們展示你迄今爲止付出的努力以及你被困在哪裏。 – tangrs 2014-10-17 10:52:01
閱讀http://www.tldp.org/HOWTO/Assembly-HOWTO/它是相關的 – 2014-10-20 13:19:15
我讀了Jonathan Bartlett的「從頭開始編程」。哪個更好? – user2422443 2014-10-20 13:31:51