Jump to content

Recommended Posts

Posted

Boas Noites,

Estou com um pequeno problema de escrita em ficheiros. Penso que estou a usar a interrupção correta, mas não consigo entender o porque de ele não escrever. Já vi alguns exemplos, e todos fazem da mesma maneira, mas no meu caso não consigo escrever.

Será que podem ajudar?

Variaveis:

;Ficheiros
 Erro_Open	 db	 'Erro ao tentar abrir o ficheiro$'
 Erro_Ler_Msg db	 'Erro ao tentar ler do ficheiro$'
 Erro_Close	 db	 'Erro ao tentar fechar o ficheiro$'
 Ficheiro	 db	 'Matrizes.txt',0
 HandleFich	 dw	 0
 car_fich	 db	 31h

Procedimento:

EscreveFicheiro proc

;abre ficheiro
 mov	 ah,3dh
 lea	 dx,Ficheiro
 mov	 al, 2
 int	 21h
 jc	 erro_abrir
 mov	 HandleFich,ax
 jmp	 ler_ciclo

erro_abrir:
 mov	 ah,09h
 lea	 dx,Erro_Open
 int	 21h
 jmp	 fimficheiro
ler_ciclo:
 mov	 ah,40h
 mov	 bx,HandleFich
 mov	 cx,0
 lea	 dx, car_fich
 int	 21h
 ;jc	 erro_ler
 ;cmp	 ax,0 ;EOF?
 jmp	 fecha_ficheiro
 ;jmp	 ler_ciclo

erro_ler:
 mov	 ah,09h
 lea	 dx,Erro_Ler_Msg
 int	 21h
fecha_ficheiro:
 mov	 ah,3eh
 mov	 bx,HandleFich
 int	 21h
 jnc	 fimficheiro
 mov	 ah,09h
 lea	 dx,Erro_Close
 Int	 21h
fimficheiro:

 mov	 ah,09h
 lea	 dx,MSGMenu
 Int	 21h
 RET
EscreveFicheiro endp

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.