Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция-6.pptx
Скачиваний:
5
Добавлен:
01.10.2022
Размер:
470.89 Кб
Скачать

Системные вызовы для работы с

файлами

section .data

 

 

filenamedb “/home/study/myfile”,

 

0

 

 

int read(

filelen

equ 1024

section .bss

 

int fd,

 

fd

resb 4

 

void *buf,

 

buffer

resb 1024

int len

 

 

);

mov eax, 3

; syscall number

 

mov ebx, [fd]

; int fd

 

mov ecx, buffer

; void *buf

 

mov edx, filelen

; int len

 

int 0x80

 

 

Системные вызовы для работы с

файлами

section .data

 

 

filenamedb “/home/study/myfile”,

 

0

 

 

int close(

filelen

equ 1024

section .bss

 

int fd

 

fd

resb 4

 

);

 

buffer

resb 1024

 

 

 

 

mov eax, 6

; syscall number

 

mov ebx, [fd]

; int fd

 

int 0x80

 

 

Системные вызовы для работы с

файламиint creat(

mov eax, 8

; syscall number

 

const char *pathname,

mov ebx, filename ; const char *pathname

mode_t mode

mov ecx, 777q

; init perms

);

 

SYSCALL_DEFINE2(

int 0x80

 

 

creat, const char __user *,

mov [fd], eax

 

{

pathname, int, mode)

 

return sys_open(pathname,

 

 

 

mov eax, 4

; syscall number

 

O_CREAT | O_WRONLY |

 

O_TRUNC,

mov ebx, [fd]

; file descriptor from

}

mode);

int write(

creat()

 

 

mov ecx, msg

 

 

int fd,

 

 

const void *buf,

mov edx, msglen

 

 

int len

int 0x80

 

);

Файлы устройств

Соседние файлы в предмете Операционные системы