pourquoi ce code ne marche pas bien? error: DOS SETBLOCK (4Ah) error

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
DOSSEG
.MODEL small
.STACK 200h
.DATA
texte DB 'texte:',10,13
db '(nom.fichier)',10,13,'$'
buffer db 13,14 dup(?)
donnes db 10000 dup(?)
 
.CODE
Begin:
 mov AX, @data
 mov DS, AX
 mov ah, 09h
 mov dx, OFFSET texte
 INT 21h
 mov ah, 0ch
 mov ah, 0ah
 mov dx, offset buffer
 int 21h
 
 xor bx, bx
 mov bl, byte ptr[buffer+1]
 mov byte ptr[buffer+2+bx],0
 
 mov ah, 3dh
 mov dx, offset buffer+2
 mov al, 0
 int 21h
 mov bx, ax
 
 mov ah, 3fh
 mov cx, 10000
 mov dx, offset donnes
 int 21h
 or ax, ax
 jz fin_fichier
 
 fin_fichier:  
 mov ah, 3eh
 int 21h
 
 mov ah, 09h
 mov dx, offset donnes
 int 21h
 
 MOV AH, 4Ch
 INT 21h
 END Begin