Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 9
Prof. Dr. Norian Marranghelo
Eduardo Nascimento
Agenda
Gerenciamento de Arquivos
Exemplo
Projeto
Gerenciamento de Arquivos
System Calls:
1 1 1 0 0 0 0 0 0
Ler Escrever Executar Ler Escrever Executar Ler Escrever Executar
Criador Grupo Outros
Em octal = 0700q
Gerenciamento de Arquivos
Permisses:
Outros no podem ter acesso ao arquivo.
1 1 1 1 1 1 0 0 0
Ler Escrever Executar Ler Escrever Executar Ler Escrever Executar
Criador Grupo Outros
Em octal = 0770q
Gerenciamento de Arquivos
Permisses:
Todos pode ler, escrever e executar o arquivo.
1 1 1 1 1 1 1 1 1
Ler Escrever Executar Ler Escrever Executar Ler Escrever Executar
Criador Grupo Outros
Em octal = 0777q
Gerenciamento de Arquivos
Criar e Abrir um arquivo:
sys_create (8)
mov eax,(sys_create)
mov ebx,(nome do arquivo)
mov ecx,(permisses)
int 80h
Gerenciamento de Arquivos
Criar e Abrir um arquivo:
sys_create (8)
mov eax,8
mov ebx,nome_arquivo
mov ecx,0777q
int 80h
section .data
nome_arquivo db meu_arquivo.txt,0
Gerenciamento de Arquivos
Criar e Abrir um arquivo:
sys_create (8)
sys_create (8)
sys_open (5)
mov eax,(sys_open)
mov ebx,(nome do arquivo)
mov ecx,(modo de acesso)
mov edx,(permisses)
int 80h
Gerenciamento de Arquivos
Abrir um arquivo:
sys_open (5)
Modos de acesso:
0 - Somente Leitura
1 - Somente Escrita
2 - Leitura e Escrita
Gerenciamento de Arquivos
Abrir um arquivo:
sys_open (5)
mov eax,5
mov ebx,nome_arquivo
mov ecx,2
mov edx,0777q
int 80h
Gerenciamento de Arquivos
Ler um arquivo:
sys_read (3)
mov eax,(sys_read)
mov ebx,(identificador do arquivo)
mov ecx,(posio de memria a ser armazenado)
mov edx,(tamanho da varivel)
int 80h
Gerenciamento de Arquivos
Ler um arquivo:
sys_read (3)
Se eax for menor que edx, quer dizer que o nmero de bytes lidos menor
que o especificado, assim pode-se determinar que eax fim do arquivo (EOF).
Gerenciamento de Arquivos
Escrever em um arquivo:
sys_write (4)
mov eax,(sys_write)
mov ebx,(identificador do arquivo)
mov ecx,(posio de memria)
mov edx,(tamanho)
int 80h
Gerenciamento de Arquivos
Escrever em um arquivo:
sys_write (4)
mov eax,4
mov ebx,[id_file]
mov ecx,msg
mov edx,len
int 80h
Gerenciamento de Arquivos
Fechando um arquivo:
sys_close (6)
mov eax,(sys_close)
mov ebx,(identificador do arquivo)
int 80h
Gerenciamento de Arquivos
Fechando um arquivo:
sys_close (6)
mov eax,6
mov ebx,[id_file]
int 80h
Exemplo
Criar um arquivo com o nome meu_arquivo.txt, escrever no arquivo
Hello, World, fechar o arquivo, abrir o arquivo meu_arquivo.txt,
ler o contedo do arquivo, escrever na tela o contedo do arquivo.
Exemplo
section .data