stacksg segment stack 'stack'
  dw 32 dup(?)
stacksg ends
datasg segment 
 f1 db 'c:\masm\shuju.dat',0
 zf db "0123456789abcdefghlj"
 f2 db 'c:\masm\shuju.dat',0
 count db $-zf
datasg ends
codesg segment
  main proc far
  assume cs:code,ds:data,ss:stack
  mov ax,data
  mov ds,ax
  mov dx,offset f1
  mov cx,0
  mov ah,3ch
  int 21h
  mov si,ax
  mov dx,offset zf
  mov cx,count
  mov bx,ax
  mov ah,40h
  int 21h
  mov bx,si
  mov ah,3eh
  int 21h
  mov ah,3dh
  int 21h
  mov cx,10
begin:
lodsb
loop:begin
  mov dx,offset f2
  mov ah,3ch
  int 21h
  mov bx,ax
  mov ah,40h
  int 21h
  mov ah,3eh
  int 21h
main endp
codesg ends
end main