Hướng dẫn thực hành môn Hợp ngữ - Bài thực hành số 6 Các thao tác trên File
1. Tạo 1 file handle: AH = 3Ch
Input:DS:DX trỏ đến đường dẫn đến file cần mở, là chuỗi ASCIIZ.
CX chứa giá trịthuộc tính file.
CX = 00: normal
= 01: read-only
= 02: hidden
= 04: system
= 10h: tên thưmục con
= 20h: archive
Output:Nếu CF=0 thì AX = handle của file
Nếu CF=1 thì lỗi tạo handle cho file.
2. Mởfile: AH = 3Dh
Input: DS:DX trỏ đến đường dẫn đến file cần mở, là chuỗi ASCIIZ.
AL là kiểu mở
AL = 0: read-only
= 1: write-only
= 2: read/write
Output: Nếu CF= 0 thì AX chứa handle của file
Nếu CF =1 thì lỗi mởfile
Hướng dẫn thực hành môn Hợp Ngữ File Bài thực hành số 6 CÁC THAO TÁC TRÊN FILE I. CÁC LỆNH 1. Tạo 1 file handle: AH = 3Ch Input: DS:DX trỏ đến đường dẫn đến file cần mở, là chuỗi ASCIIZ. CX chứa giá trị thuộc tính file. CX = 00: normal = 01: read-only = 02: hidden = 04: system = 10h: tên thư mục con = 20h: archive Output:Nếu CF=0 thì AX = handle của file Nếu CF=1 thì lỗi tạo handle cho file. 2. Mở file: AH = 3Dh Input: DS:DX trỏ đến đường dẫn đến file cần mở, là chuỗi ASCIIZ. AL là kiểu mở AL = 0: read-only = 1: write-only = 2: read/write Output: Nếu CF = 0 thì AX chứa handle của file Nếu CF = 1 thì lỗi mở file 3. Đọc file: AH = 3Fh Input: BX chứa handle của file. CX chứa số byte cần đọc. DS:DX trỏ đến buffer đủ lớn để chứa các byte đọc được. Output: Nếu CF = 0 thì AX chứa số byte thật sự đọc được. Nếu CF = 1 thì việc đọc có lỗi, xét AX. Nếu AX = 5 là lỗi đọc Nếu AX = 6 là thẻ không có giá trị. 4. Ghi file: AH = 40h Input: BX chứa handle của file. CX chứa số byte cần ghi. DS:DX trỏ đến buffer chứa các byte để ghi. Khoa Công Nghệ Thông Tin – Trường ĐH KHTN Tp.HCM - 1 - Hướng dẫn thực hành môn Hợp Ngữ File Output: Nếu CF = 0 thì AX chứa số byte thật sự được ghi. Nếu CF = 1 thì thông báo lỗi ghi file, xét AX. Nếu AX = 5: file không được phép ghi. Nếu AX = 6: thẻ chưa mở hoặc không có giá trị. 5. Đóng file: AH = 3Eh Input: BX = file handle Output: Nếu CF = 0 có nghĩa đã lưu tất cả nội dung file xuống đĩa, đóng file thành công. Nếu CF = 1 thì đóng file không thành công (handle của file không hợp lệ). 6. Xóa file: AH = 41h Input: DS:DX trỏ đến đường dẫn file cần xoá Output: Nếu CF = 0 thì xoá file thành công Nếu CF = 1 thì xét AX: Nếu AX = 5: đường dẫn không hợ p lệ hay file không tìm thấy Nếu AX = 6: đường dẫn chỉ đến 1 thư mục hay 1 file chỉ đọc. 7. Di chuyển con trỏ file (đọc/ghi): AH = 42h Input: BX chứa thẻ file CX:DX chứa khoảng di chuyển tính theo byte AL chứa kiểu di chuyển: AL = 00: di chuyển từ đầu file AL = 01: tại vị trí con trỏ hiện tại AL = 02: từ cuối file Output: Nếu CF = 0 thì DX:AX chứa vị trí mới của con trỏ Nếu CF = 1 thì việc di chuyển con trỏ không thành công, xét AX: - Nếu AX = 1 thì giá trị trong thanh ghi AL không có trong 3 giá trị hợp lệ của phần input trước khi gọi ngắt. - Nếu AX = 6 thì handle không mở. 8. Đổi thuộc tính cho file Input: DS:DX trỏ đến đường dẫn file là 1 chuỗi ASCIIZ. Nếu AL = 0 để lấy thuộc tính file Nếu AL = 1 để đặt thuộc tính file thì - CX = 00: normal - CX = 01: read-only - CX = 02: hidden - CX = 04: system - CX = 10h: thư mục con - CX = 20h: archive Output: Nếu CF = 0 và AL = 00h thì CL chứa thuộc tính của file Khoa Công Nghệ Thông Tin – Trường ĐH KHTN Tp.HCM - 2 - Hướng dẫn thực hành môn Hợp Ngữ File Nếu CF = 1 thì có lỗi, xét AX: Nếu AX = 1: AL không hợp lệ. Nếu AX = 3: đường dẫn không hợp lệ hoặc file không tìm thấy. Nếu AX = 5: không thể thay đổi thuộc tính. Khoa Công Nghệ Thông Tin – Trường ĐH KHTN Tp.HCM - 3 -
File đính kèm:
- Hướng dẫn thực hành môn Hợp ngữ - Bài thực hành số 6 Các thao tác trên File.pdf