bia2varavi
یک شنبه 10 خرداد 1388, 20:20 عصر
سلام من یه برنامه نوشتم که یه عدد را از کیبورد بخونه بعد هم اون رو در یک فایل ذخیره کنه برنامه اسمبل میشه اما بعد از اجرای برنامه در ساختن فایل دچار مشکل میشه کد رو اینجا میذاریم اگه کسی بلده اون رو اصلاح کنه
stksg segment stack
db 64 dup('stack')
stksg ends
datasg segment
msg1 db 'Pleas Enter Character(character is hidden):',"$"
text db ?
handle dw ?
filedir db 'file.tex',00h
buffer db 32 dup (?)
datasg ends
codesg segment
main proc far
assume cs:codesg, ds:datasg, ss:stksg
mov ax,datasg
mov ds,ax
;screen clean page 88
mov ah,6h
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,7
int 10h
;cursor move page 90
mov ah,2h
mov dh,10
mov dl,2
mov bh,0
int 10h
;print msg1 page 91
mov dx,offset msg1
mov ah,9h
int 21h
;input character and move to text page91
mov ah,8h
int 21h
mov text,al
main endp
;*****************************
;create file
create_file proc
mov ax,3ch
mov handle,ax
lea dx,filedir
mov cx,00h
int 21h
ret
create_file endp
;*****************************
;write to file
write_file proc
mov bx,handle ;move file number to bx
mov cx,32 ;move number of byte to cx
mov ah,40h ;function for write to file
lea dx,buffer ;move text to dx
int 21h
ret
write_file endp
;*****************************
;close file
close_file proc
mov bx,handle ;Set file number
mov ah,3eh ;function for close file
int 21h
ret
close_file endp
;*****************************
codesg ends
end main
stksg segment stack
db 64 dup('stack')
stksg ends
datasg segment
msg1 db 'Pleas Enter Character(character is hidden):',"$"
text db ?
handle dw ?
filedir db 'file.tex',00h
buffer db 32 dup (?)
datasg ends
codesg segment
main proc far
assume cs:codesg, ds:datasg, ss:stksg
mov ax,datasg
mov ds,ax
;screen clean page 88
mov ah,6h
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,7
int 10h
;cursor move page 90
mov ah,2h
mov dh,10
mov dl,2
mov bh,0
int 10h
;print msg1 page 91
mov dx,offset msg1
mov ah,9h
int 21h
;input character and move to text page91
mov ah,8h
int 21h
mov text,al
main endp
;*****************************
;create file
create_file proc
mov ax,3ch
mov handle,ax
lea dx,filedir
mov cx,00h
int 21h
ret
create_file endp
;*****************************
;write to file
write_file proc
mov bx,handle ;move file number to bx
mov cx,32 ;move number of byte to cx
mov ah,40h ;function for write to file
lea dx,buffer ;move text to dx
int 21h
ret
write_file endp
;*****************************
;close file
close_file proc
mov bx,handle ;Set file number
mov ah,3eh ;function for close file
int 21h
ret
close_file endp
;*****************************
codesg ends
end main