Как вы делаете бинарный файл ввода / вывода с Win32 ASM? - PullRequest
0 голосов
/ 23 февраля 2011

Как мне сделать файл IO в сборке?И я имею в виду сборку.Я ненавижу макросы.Я пытаюсь отредактировать существующий файл размером 10 МБ с помощью ASM.

Если кто-нибудь может дать мне небольшой пример кода, как это сделать, это будет оценено.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Конечно, чтение файла не должно быть вашей первой программой, если вы изучаете ассемблер Вот пример .Пока вы находитесь в Windows, вам нужно каким-то образом вызывать CreateFile в Win32 API.

В примере вызывается CreateFile с использованием макросов, не позволяйте этому останавливать вас, вы можете легко открыть файлы включения в нос и посмотреть сборку за макросами и скопировать и вставить эту сборку.

3 голосов
/ 23 февраля 2011

Весь фактический файловый ввод / вывод будет обрабатываться операционной системой, абстрагируемый open() / close() / read() / write() / и т. Д.системные вызовы (или любые другие аналоги в Windows).Поэтому на самом деле все, что нужно вашему ASM, - это вызывать эти функции (правильно устанавливать аргументы в стеке и т. Д.) И обрабатывать возвращаемые значения.

Так что, если вы уже знаете, как использовать open() /close() и т. Д. В C, и вы знаете, как вызвать функцию из ASM, тогда все готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...