assume cs:code,ds:data
data segment
filename db 'test.txt',0
filehandle dw ?
buffer db 0A0h ; Max input size
db 0A1h dup (0)
err_open db 'Error Opening !$'
msg_open db 'Open successful',0dh,0ah,'$'
msg_text db 'Enter some text> $'
data ends
code segment
org 100h
write_prog:
jmp start
start:
; update DS...
mov ax,data
mov ds,ax
; open file
mov ah,3dh
mov al,00010001b ; open for write
lea dx,filename
int 21h
jnc openOK
; error msg
mov ah,09h
lea dx,err_open
int 21h
jmp terminate
openOK:
mov filehandle,ax ; save for later
mov ah,09h
lea dx,msg_open
int 21h
lea dx,msg_text
int 21h
; buffered key input...
lea dx,buffer
mov ah,0ah
int 21h
; write to file
mov ah,40h
mov bx,filehandle
lea dx,buffer
inc dx
mov di,dx
inc dx
sub ch,ch
mov cl,[di] ; no. bytes to write
int 21h
; close file
mov ah,3eh
mov bx,filehandle
int 21h
terminate:
mov ax,4c00h
int 21h
code ends
end write_prog