Как читать/записывать данные из/в текстовый файл с помощью прерываний?

Учу assembler, дошел до векторов прерываний. Никак не могу понять, как ими правильно оперировать. Как я понял работая с прерываниями мы должны поместить в регистры аргументы функций, и вызвать вектор прерываний. Есть вот такой код:

 include "io.inc"

 section .data

 file db "./Documents/file.txt",0

 O_RDONLY equ 0

 O_WRONLY equ 1

 O_RDWR equ 2

 O_CREAT equ 100o ;создание файла, если его нет

 O_TRUNC equ 1000o ;очистка файла

 O_APPEND equ 2000o ;добавление в конец файла

 section .bss

 descriptor resb 4 ;переменная для хранения дескриптора файла

 section .text

global CMAIN

CMAIN:

mov eax,5

mov ebx,file

mov ecx, O_RDONLY

mov edx, 2

int 80h ;открытие файла для чтения

mov [descriptor],eax ;сохранения дескриптора файла

…

; функции для чтения/записи файла

…

mov eax,6

mov ebx,[descriptor]

int 80h ;закрытие файла

xor eax, eax
ret

В принципе я смог разобраться, что в eax открыли поместили 8005h открытие файла, и чтобы читать нужно поместить в eax 3, но как потом вывести содержимое файла на экран?


Ответы (0 шт):