1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Hợp ngữ ASM-Chương 12-Lập trình xử lý Đĩa& FILE-Phần 4- Hàm thao tác trên file v ppt

27 535 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,2 MB

Nội dung

LẬP TRÌNH XỬ LÝ ĐĨA&FILE CƠ BẢN VỀ LƯU TRỮ TRÊN ĐĨA TỪ MỘT ỨNG DỤNG HIỂN THỊ SECTOR MỘT ỨNG DỤNG HIỂN THỊ CLUSTER CÁC CHỨC NĂNG VỀ FILE Ở MỨC HỆ THỐNG QUẢN LÝ ĐĨA VÀ THƯ MỤC TRUY XUẤT ĐĨA VỚI INT 13H CỦA ROMBIOS BÀI TẬP GiỚI THIỆU FILE VÀ LẬP TRÌNH XỬ LÝ FILE 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) MỘT SỐ HÀM THAO TÁC VỚI FILE VÀ ĐĨA INT 21H HÀM 36H INT 21H : Lấy số bytes trống đĩa Input : AH = 36H DL = O63 đĩa (0 : mặc định, ổ A … Output : Có lỗi AX = 0FFFFH Khơng lỗi : AX = số sector / cluster BX = số cluster trống DX = tổng số cluster đĩa CX = số bytes/cluster 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) BÀI TẬP Viết chương trình tạo thư mục với yêu cầu tên thư mục (có thể bao gồm tên ổ đĩa, đường dẫn tên thư mục) nhập từ bàn phím, cho phép sửa sai gỏ nhầm tên thư mục 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) Viết chương trình ghi liệu vào file với u cầu : • Tên file nhập từ bàn phím • Dữ liệu ghi vào file gỏ từ bàn phím kết thúc việc nhập phím CTRL+Z Viết chương trình gộp nội dung file vào cuối file khác 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) LẬP TRÌNH XỬ LÝ FILE GiỚI THIỆU FILE CÁC HÀM CHỨC NĂNG XỬ LÝ FILE CỦA INT 21H CỦA DOS 5/14/2009 LAP TRINH XU LY DIA TU 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 HĐH Unix để truy xuất File thiết bị HANDLE Handle số 16 bits Dos sử dụng để nhận biết File mở thiết bị hệ thống 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) GIỚI THIỆU FILE Có Handle thiết bị chuẩn Dos nhận dạng Handle Thiết bị Keyboard, standard input Console, standard output Error output thiết bị xuất lỗi – hình Auxiliary device asynchronous Printer 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) CÁC THAO TÁC XỬ LÝ FILE 5/14/2009 LAP TRINH XU LY DIA TU 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 Chức 3Ch CÁC CHỨC NĂNG NÀY PHẢI ĐƯA VÀO AH Tác vụ Tạo File 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ị số bytes định trước 40h Ghi vào File hay đọc từ thiết bị số bytes định trước 42h di chuyển trỏ File trước đọc/ ghi 5/14/2009 LAP TRINH XU LY DIA TU 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 Chức : Mở File để đọc ghi Nếu file có file cũ bị xóa AH = 3Ch DS:DX địa tên File muốn mở (ASCIIZ String) CX = thuộc tính File (0 normal ReadOnly Hidden System) Xuất : không lỗi CF =0 AX = File Handle Có lỗi CF =1 Mã lỗi AX (3,4,5) 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 10 CHỨC NĂNG 5Bh TẠO FILE MỚI CÓ KIỂM TRA Đ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, INT 21H JC ERROR … FILENAME DB ‘FILE1.DOC’ , 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 13 CÁC LỖI KHI MỞ FILE MÃ LỖI DIỄN GIẢI 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Ệ PATH NOT FOUND ĐƯỜNG DẪN KHÔNG CÓ 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 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 thời 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 14 CÁC LỖI KHI MỞ FILE MÃ LỖI DIỄN GIẢI 11H Khơng thiết bị 12H Khơng tìm thêm File 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 15 CHỨC NĂNG MỞ FILE ĐÃ CÓ 3Dh Int 21h OPEN FILE ĐIỀU KIỆN : AH = 3DH DS:DX ĐỊA CHỈ TÊN FILE AL = MODE 0: INPUT (MỞ CHỈ ĐỌC) : OUTPUT (MỞ ĐỂ GHI) : INPUT OUTPUT (MỞ VỪA ĐỌC VỪA GHI) XUẤT : KHÔNG LỖI CF = AX = FILE HANDLE CÓ LỖI CF = AX  mã lỗi (2,4,512) 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 16 MỞ FILE HÀM 3CH INT 21H • Truớc sử dụng file, ta phải mở • Để tạo file hay ghi lại file cũ, ta sử dụng tên file thuộc tính File •  DOS trả thẻ file 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 17 MỞ FILE HÀM 3CH INT 21H AH = 3CH DS:DX địa chuổi ASCII (chuổi tên File kết thúc byte 0) CL = thuộc tính File Nếu thành cơng, AX = thẻ File Nếu CF set có lỗi, mã lỗi chứa AX (lỗi 3,4,5) 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 18 Viết code mở File với thuộc tính đọc, tên File FILE1 Fname DB ‘FILE1’,0 INT 21H FHANDLE DW ? MOV FHANDLE, AX MOV AX,@DATA JC OPEN_ERROR MOV DS,AX ……… MOV AH,3CH MOV CL,1 LEA DX,FNAME 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 19 CHỨC NĂNG MỞ FILE ĐÃ CÓ SẴN HÀM 3Dh INT 21H OPEN FILE AH = 3DH DS:DX = địa chuổi ASCII (chuổi tên File kết thúc byte 0) AL = mã truy cập : mở để đọc : mở để ghi : mở để đọc ghi Thành công, AX = Fhandle Có lỗi Mã lỗi chứa AX (2,4,5,12) 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 20 CHỨC NĂNG MỞ FILE ĐÃ CÓ SẴN HÀM 3Dh INT 21H OPEN FILE MOV AH, 3DH MOV AL, MOV DX, OFFSET FILENAME INT 21H JC DISPLAY_ERROR MOV INFILEHANDLE, AX … INFILE DB ‘ D:\FILE1.DOC’, INFILEHANDLE DW ? 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 21 CHỨC NĂNG 3EH ĐÓNG FILE ĐIỀU KIỆN : AH = 3EH BX = FILE HANDLE CẦN ĐÓNG XUẤT : KHÔNG LỖI CF = CÓ LỖI CF = EX : LỖI SỐ : INVALID HANDLE MOV AH, 3EH FILE HANDLE TRONG BX KHÔNG PHẢI LÀ THẺ FILE CỦA FILE ĐÃ MỞ MOV BX, INFILEHANDLE INT 21H JC DISPLAY_ERROR … INFILE DB ‘D:\FIEL1.DOC’, INFILEHANDLE DW ? 5/14/2009 LAP TRINH XU LY DIA TU Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) 22 CHỨC NĂNG 3FH ĐỌC FILE ĐỌC SỐ BYTES TỪ FILE LƯU VÀO BỘ NHỚ ĐIỀU KIỆN : AH = 3FH BX = FILE HANDLE , CX = SỐ BYTES CẦN ĐỌC DS:DX : ĐỊA CHỈ BỘ ĐỆM XUẤT : AX = SỐ BYTES ĐỌC ĐƯC, NẾU AX = HAY AX

Ngày đăng: 16/01/2014, 19:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w