0
我是X86彙編語言的初學者。我知道如何從標準輸入讀取並使用內置函數寫入標準輸出,但我不知道如何用普通的彙編代碼(即操作寄存器和利用系統調用)來完成這項工作。X86從標準輸入讀取並寫入標準輸出而不用參考標準庫
#include <stdio.h>
#include <unistd.h>
int main(){ /* copy input to output */
char buf[BUFSIZ];
int n;
while ((n = read(0, buf, BUFSIZ)) > 0)
write(1, buf, n);
return 0;
}
這是C代碼我寫首先從標準輸入(由數字0表示)讀然後寫到標準輸出(由數字1表示)。任何人都可以幫我把它轉換成普通的彙編代碼(NO「call read」&「call write」please)?
語法並不重要,但32位AT & T是首選,因爲我一直在使用它:)先謝謝了!
感謝您的回覆!我沒有閱讀或寫入文件。我已經閱讀了使用'man'命令的解釋,但我仍然不確定如何將所有內容放在一起。如果你熟悉X86,你能給我一個基於我的c代碼的例子嗎?它工作得很好。再次感謝您的幫助@paxdiablo! – Meteorite 2014-12-03 02:09:18
@Meteorite,我目前所在的位置沒有Linux系統,所以我要從記憶中回憶(以及遭受數十年混亂的記憶)。但希望我已經添加的一點會有所幫助。 – paxdiablo 2014-12-03 02:30:27
@ paxdiablo這已經夠好了!我現在看到一切如何運作。很有幫助! – Meteorite 2014-12-03 02:48:29