سلام
این برنامه باید یک فایل را باز کند و در انتهای آن یک متن را اضافه کند.اما درست این کار را انجام نمیدهد.
در ضمن بعد میخواهم این متن را بخوانم.
این برنامه باید یک فایل را باز کند و در انتهای آن یک متن را اضافه کند.اما درست این کار را انجام نمیدهد.
در ضمن بعد میخواهم این متن را بخوانم.
کد:
.model small
comment ~
Just a little asm code by CryptO! ;)
~
.code
org 100h
start:
jmp main
hFile dw 0
szPath db "test.txt", 0
readbuffer db 25 dup(0), "$" ; buffer for first run
logo db "ut.ac.ir" ; data to append
OpenErrorMsg db 13, 10, "OpenFile failed ... $"
AppendErrorMsg db 13, 10, "Unable to write file ...$"
ReadErrorMsg db 13, 10, "ReadFile failed ... $"
main proc near
call OpenFile
jnb proceed
mov dx, offset OpenErrorMsg
call print
jmp _leave
proceed:
call AppendFile ; file size is growing
jnb _readfile
mov dx, offset AppendErrorMsg
call print
jmp _closehandle
_readfile:
call ReadFile
jnb _printfile
mov dx, offset ReadErrorMsg
call print
jmp _closehandle
_printfile:
mov dx, offset readbuffer
call print
_closehandle:
call CloseHandle
_leave:
int 20h
main endp
OpenFile proc
mov ax, 3D02h
mov dx, offset szPath
int 21h
mov hFile, ax
ret
OpenFile endp
AppendFile proc
push bx
mov bx, ax ; hFile
mov ax, 4202h
xor cx, cx
and dx, cx
int 21h
mov ah, 40h
mov cx, OpenErrorMsg - logo
mov dx, offset logo
int 21h
pop bx
ret
AppendFile endp
ReadFile proc
push bx
mov bx, hFile
mov ax, 4200h
xor cx, cx
mov dx, cx
int 21h
mov ah, 3Fh
mov cx, 25 ; according to readbuffer!
mov dx, offset readbuffer
int 21h
pop bx
ret
ReadFile endp
CloseHandle proc
push bx
mov bx, hFile
mov ah, 3Eh
int 21h
pop bx
ret
CloseHandle endp
print proc
mov ah, 09h
int 21h
ret
print endp
end start