Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
2,31 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 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt CƠ BẢN VỀ LƯU TRỮ TRÊN ĐĨA TỪ Ngôn ngữ ASM vƣợt trội ngôn ngữ khác khả xử lý đĩa Ta xem xét việc lƣu trữ thông tin đĩa theo mức độ : mức phần cứng/BIOS mức phần mềm/DOS mức phần cứng :lƣu trữ thông tin liên quan đến cách liệu đƣợc lƣu trữ cách vật lý nhƣ đĩa từ? mức phần mềm : việc lƣu trữ đƣợc quản lý tiện ích quản lý File HĐH DOS 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt CÁC ĐẶC TÍNH LUẬN LÝ & VẬT LÝ CỦA ĐĨA TỪ Ở mức vật lý : đĩa đƣợc tổ chức thành Tracks, Cylinders, Sectors Khả lƣu trữ đĩa đƣợc mô tả thông sô : C (cylinder number) H (Head side) R (sector number) 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt CÁC KHÁI NIỆM TRACK, CYLINDER, SECTOR Tracks : vòng tròn đồng tâm đƣợc tạo bề mặt đĩa Cylinder : tập tracks bán kính chồng đĩa Mặt đĩa có track có nhiêu Cylinder Sector : đọan track (cung từ) có khả lƣu trữ 512 bytes liệu Các sector đƣợc đánh số track đĩa tồn nhiều sector số hiệu 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt Ở mức luận lý : đĩa đƣợc tổ chức thành Clusters, files mà DOS dùng để cấp phát vùng lƣu trữ cho liệu cần lƣu trữ Cluster : nhóm gồm 2,4,6 sector kề Đó đơn vị cấp phát vùng lƣu trữ cho liệu (file) Các cluster đƣợc đánh số Nếu liệu cần lƣu trữ byte hệ điều hành cấp phát cluster số bytes/cluster hay sector/cluster tùy thuộc vào loại đĩa 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com https://fb.com/tailieudientucntt TƯƠNG QUAN GIỮA SECTOR VẬT LÝ VÀ SECTOR LOGIC TRÊN ĐĨA MỀM MẶT ĐĨA TRACK SECTOR SECTOR THÔNG TIN LOGIC 0 0 2-5 1-4 BOOT RECORD FAT 0 6-9 5-8 Thư mục gốc 1-3 9-11 Thư mục gốc 4-9 12-17 Dữ liệu 1-9 18-26 Dữ liệu 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt 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) 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 51 https://fb.com/tailieudientucntt 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 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 52 https://fb.com/tailieudientucntt 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) 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 53 https://fb.com/tailieudientucntt 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 ? 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 54 https://fb.com/tailieudientucntt 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 ? 11/29/2019 LAP TRINH XU LY DIA TU CuuDuongThanCong.com 55 https://fb.com/tailieudientucntt 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