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

pdf3 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: dkS00TYs | Lượt xem: 1727 | Lượt tải: 1download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfHướ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