;;Przykład 8.4. Tworzenie pliku przez uchwyt
TITLE plik_uchwyt.asm
.MODEL small
.STACK 100h
.DATA
pocz  LABEL  BYTE
wiersz1 DB 'Tekst eksperymentalnego programu',0 
rozm1  DW $-pocz
sciez  DB 'D:\testplik.txt',0 ;eksperyment na dysku D
descr  DW 0
.CODE
Start:
;;tworzenie pliku
 mov DX,OFFSET sciez
 mov AX,SEG sciez 
 mov DS, AX
 mov CX,20h ; plik archiwalny
 mov AH,3Ch ; utworzenie pliku dyskowego
 int 21h
 jc kon1 ;jeśli błąd
 mov descr,AX 
;; zamknięcie pliku
 mov BX,descr 
 mov AH,3Eh ; zamknięcie pliku dyskowego 
 int 21h
 jc kon1 ;jeśli błąd
;; otwarcie pliku
 mov DX,OFFSET sciez
 mov AX,SEG sciez 
 mov DS, AX
 mov AL,012h
 mov AH,3Dh ; otwarcie pliku dyskowego 
 int 21h
 jc kon1 ;jeśli błąd
 mov descr,AX 
;; zapisywanie
 mov DX,OFFSET wiersz1
 mov AX,SEG wiersz1 
 mov DS, AX
 mov BX,descr 
 mov CX,rozm1 
 mov AH,40h ; zapisywanie 
 int 21h
 jc kon1 ;jeśli błąd
;; zamknięcie pliku
 mov BX,descr 
 mov AH,3Eh ; zamknięcie pliku dyskowego 
 int 21h
 jc kon1 ;jeśli błąd
 mov AL,0 ;OK!
 jmp koniec
kon1:
 mov AL,1 ;błąd
koniec:
 mov AH,4Ch ;zamykanie programu 
 int 21h
END Start ;;koniec programu
