如何使用Win32 ASM进行二进制文件I / O?

时间:2011-02-22 23:24:58

标签: file-io assembly

我如何在汇编中执行文件io?我的意思是集会。我讨厌宏。我正在寻找使用ASM编辑预先存在的10 MB文件。

如果有人可以给我一些关于如何做的快速示例代码,那将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:3)

所有实际的文件I / O将由操作系统处理,由open() / close() / read() / write() /等抽象出来。系统调用(或Windows上的等价物)。所以你的ASM需要做的就是调用这些函数(在堆栈上正确设置参数等),并处理返回值。

因此,如果您已经知道如何在C中使用open() / close()等,并且您知道如何从ASM调用函数,那么您已经完成了!

答案 1 :(得分:3)

如果您正在学习汇编Here's,那么阅读文件肯定不应该是您的第一个程序。只要您在Windows中,就需要以某种方式在win32 API中调用CreateFile

该示例使用宏调用CreateFile,不要让它阻止你,你可以轻松打开nasm包含文件并查看宏后面的程序集并复制粘贴该程序集。