Assembler #9 Запись в файлы

Assembler #9 Запись в файлы

@Torchik_Ru

Доброго времени суток, господа. Сегодня мы с вами научимся записывать информацию в файлы.

sys_open

Первый аргумент для системного вызова sys_open - указатель на название файла(null-terminated строка). Второй - флаги. Третий - восьмеричное значение-режим открытия файла, про которые мы узнали ранее.

В этой таблице Вы можете увидеть некоторые флаги, которые могут пригодиться:

Описание некоторых флагов:

O_RDONLY - открытие только на чтение
O_WRONLY - открытие только на запись
O_RDWR   - открытие на чтение и запись
O_CREAT  - если файла нет, то создать его

Код для создания файла и открытия его только на запись. Если файла не существует, то он будет создан:

Из примера видно, что для комбинации флагов достаточно "добавить" их друг к другу.

sys_call - возвращает файловый дескриптор файла в rax регистр. В случае ошибки, она будет возвращена в rax.

sys_write

Этот системный вызов может использоваться для записи в файл информации. Вы уже с ним знакомы, так-что стоять на этом мы не будем. Единственное изменение - мы передаем в него первым аргументом файловый декскриптор, который получили при открытии файла через sys_open.

sys_close

Получает только один аргумент - файловый дескриптор.

Код, для записи в файл:

Скачать linux64.inc

Report Page