LẬP TRÌNH XỬ LÝ FILE
5/14/2009 LAP TRINH XU LY DIA TU 5
GiỚI THIỆU FILE
CÁC HÀM CHỨC NĂNG XỬ LÝ FILE
CỦA INT 21H CỦA DOS
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
GIỚI THIỆU FILE
Trong quản lý File, Dos vay mượn khái niệm Handle
trong HĐH Unix để truy xuất File và thiết bò.
5/14/2009 LAP TRINH XU LY DIA TU 6
Handle là 1 số 16 bits được Dos sử dụng để nhận biết File
đã mở hoặc 1 thiết bò trong hệ thống.
HANDLE
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
GIỚI THIỆU FILE
5/14/2009 LAP TRINH XU LY DIA TU 7
Có 5 Handle thiết bò chuẩn được Dos nhận dạng.
Handle Thiết bò
0 Keyboard, standard input
1 Console, standard output
2 Error output thiết bò xuất lỗi – màn hình
3 Auxiliary device asynchronous
4 Printer
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
5/14/2009 LAP TRINH XU LY DIA TU 8
CÁC THAO TÁC XỬ LÝ FILE
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CÁC CHỨC NĂNG CƠ BẢN VỀ XỬ LÝ FILE CỦA INT
21H
5/14/2009 LAP TRINH XU LY DIA TU 9
Chức năng Tác vụ
3Ch Tạo File mới
3Dh Mở File đã có để xuất/nhập/vừa nhập vừa xuất
3Eh Đóng thẻ File
3Fh Đọc từ File hay đọc từ thiết bò 1 số bytes đònh trước
40h Ghi vào File hay đọc từ thiết bò 1 số bytes đònh trước
42h di chuyển con trỏ File trước khi đọc/ ghi
CÁC CHỨC NĂNG
NÀY PHẢI ĐƯA
VÀO AH
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CHỨC NĂNG TẠO FILE 3Ch
CREATE FILE FUNCTION 3Ch
5/14/2009 LAP TRINH XU LY DIA TU 10
Chức năng : Mở 1 File mới để đọc ghi. Nếu file đã có thì file
cũ sẽ bò xóa.
AH = 3Ch
DS:DX đòa chỉ của tên File muốn mở (ASCIIZ String)
CX = thuộc tính File
(0 normal 1 ReadOnly 2 Hidden 4 System)
Xuất : không lỗi CF =0 AX = File Handle Có lỗi CF =1.
Mã lỗi trong AX (3,4,5).
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CHỨC NĂNG TẠO FILE 3Ch
CREATE FILE FUNCTION
3Ch
5/14/2009 LAP TRINH XU LY DIA TU 11
Ex x
CREATE_FILE :
MOV AH, 3CH
MOV DX, OFFSET NEWFILE
MOV CX, 0
INT 21H
JC DISPLAY_ERROR
MOV NEWFILEHANDLE, AX
NEWFILE DB ‘ FILE1.DOC ’,0
NEWFILEHANDLE DW ?
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CHỨC NĂNG TẠO FILE 3Ch
CREATE FILE FUNCTION 3Ch
5/14/2009 LAP TRINH XU LY DIA TU 12
Ex x
CHỨC NĂNG 3Ch CÓ 1 KHUYẾT ĐIỂM LÀ NẾU CÓ 1 FILE CÙNG
TÊN(CÙNG ĐƯỜNG DẪN) ĐÃ TỒN TẠI THÌ FILE CŨ SẼ BỊ XÓA.
ĐỂ BẢO VỆ FILE, CÓ 2 CÁCH :
C1 : MỞ FILE BẰNG CHỨC NĂNG 3Dh, NẾU FILE CHƯA CÓ THÌ TRẢ VỀ
LỖI SỐ 2 (FILE NOT FOUND) YÊN TÂM MỞ FILE MỚI.
C2 : DÙNG CHỨC NĂNG 5Bh MỞ FILE CÓ KIỂM TRA TÊN FILE NÀY ĐÃ
CÓ CHƯA.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CHỨC NĂNG 5Bh
TẠO FILE MỚI CÓ KIỂM TRA
5/14/2009 LAP TRINH XU LY DIA TU 13
ĐIỀU KIỆN : GIỐNG CHỨC NĂNG 3Ch
NẾU FILE NÀY ĐÃ CÓ THÌ KHÔNG MỞ FILE MỚI MÀ TRẢ VỀ LỖI 50h
CREATE_FILE :
MOV AH,5BH
MOV DX, OFFSET FILENAME
MOV CX, 0
INT 21H
JC ERROR
….
FILENAME DB ‘FILE1.DOC’ , 0
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
CÁC LỖI KHI MỞ FILE
5/14/2009 LAP TRINH XU LY DIA TU 14
MÃ LỖI DIỄN GIẢI
2 FILE NOT FOUND KHÔNG TÌM THẤY FILE, CÓ THỂ ĐƯỜNG DẪN
KHÔNG ĐÚNG HOẶC TÊN FILE MÔ TẢ KHÔNG HP LỆ.
3 PATH NOT FOUND ĐƯỜNG DẪN KHÔNG CÓ.
4 TOO MANY OPEN FILES CÓ THỂ DO LỆNH PATH XX TRONG
CONFIG.SYS QUÁ NHỎ KHÔNG CHO PHÉP MỞ NHIỀU FILE.
5 ACCESS DENIED TỪ CHỐI TRUY XUẤT. CÓ THỂ TA MUỐN XOÁ
FILE ĐANG MỞ, HAY FILE NÀY CÓ THUỘC TÍNH CHỈ ĐỌC.
CH Mã truy nhập khơng hợp lệ.
FH Ổ đĩa khơng hợp lệ
10h Đang tìm cách xóa thư mục hiện thời
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Không có nhận xét nào:
Đăng nhận xét