mrodriguez Posted June 21, 2012 at 12:56 AM Report #464507 Posted June 21, 2012 at 12:56 AM 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
bsccara Posted June 21, 2012 at 08:19 AM Report #464523 Posted June 21, 2012 at 08:19 AM O erro óbvio é que estás a indicar que queres gravar zero bytes (CX = 0, função 40h).
mrodriguez Posted June 21, 2012 at 11:37 PM Author Report #464822 Posted June 21, 2012 at 11:37 PM Eu ontem já tinha resolvido o problema. Depois deixo aqui o código para quem quiser ver. Pode ser útil a alguém. Obrigado na mesma pela ajuda.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now