2011-02-22 27 views
-1

我會如何在彙編文件io?我的意思是組裝。我討厭宏。我正在尋找使用ASM編輯預先存在的10 MB文件。如何用Win32 ASM做二進制文件I/O?

如果有人可以給我一些關於如何做的快速示例代碼,那將不勝感激。

謝謝!

回答

3

所有實際的文件I/O將是由操作系統來處理,由open()/close()/read()/write()抽象出來的/ etc。系統調用(或任何等效的Windows)。所以你的ASM需要做的就是調用這些函數(正確設置堆棧上的參數等),並處理返回值。所以如果你已經知道如何在C中使用open()/close()等,並且你知道如何從ASM調用一個函數,那麼你就完成了!

+0

謝謝。我已經計算了很多。我真的只是想找一個人提供一個關於如何做到這一點的快速示例ASM代碼。 – 2011-02-22 23:49:01

+0

@TheRoll:什麼樣的例子?如何調用一個函數? – 2011-02-23 19:28:09

+0

調用文件IO功能的示例,贊成。 – 2011-02-23 19:44:51

3

如果您正在學習彙編Here's示例,讀取文件當然不應該是您的第一個程序。只要你在Windows中,你需要以某種方式在win32 API中調用CreateFile

該示例使用宏調用CreateFile,不要讓它阻止您,您可以輕鬆打開nasm包含文件並查看宏後面的程序集並複製粘貼該程序集。

+0

是不是Iczelion通過假設你熟悉彙編程序來開始他的ASM教程? – 2011-02-22 23:53:10

+0

無論如何,我要去做文件io,因爲我通過這樣做來學習,而且我更喜歡做一些實用的東西。這就是爲什麼我要開始一個基本的程序來爲我編輯一些東西。 – 2011-02-22 23:54:42

+0

我想我會堅持從高級語言編譯成ASM並閱讀,當我想學習一些代碼。我很快就會覺得這是一個錯誤的地方尋找組裝的幫助 - 在這裏似乎沒有很多(如果有的話)彙編編碼器。 – 2011-02-22 23:57:23