intTypePromotion=1

Hợp ngữ - Chương 7: Quản lý thư mục và tập tin

Chia sẻ: Tran Van Dinh | Ngày: | Loại File: PDF | Số trang:22

0
102
lượt xem
13
download

Hợp ngữ - Chương 7: Quản lý thư mục và tập tin

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 0Dh – Reset ổ đĩa Trong một điều kiện làm việc, nếu trong quá trình xử lý các tập tin/chương trình bị lỗ Reset lại đĩa để xóa vùng đệm của tập tin Thao tác Thanh ghi Vào AH Giá trị 0Dh Điều kiện Ví dụ: MOV INT AH,0Dh 21h Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 0Eh –...

Chủ đề:
Lưu

Nội dung Text: Hợp ngữ - Chương 7: Quản lý thư mục và tập tin

  1. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 0Dh – Reset ổ đĩa Trong một điều kiện làm việc, nếu trong quá trình xử lý các tập tin/chương trình bị lỗ Reset lại đĩa để xóa vùng đệm của tập tin Giá trị Điều kiện Thao tác Thanh ghi Vào AH 0Dh V í dụ : MOV AH,0Dh INT 21h
  2. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 0Eh – Chọn ổ đĩa mặc định - Chọn một ỗ đĩa làm ổ đĩa mặc định hiện hành Giá trị Điều kiện Thao tác Thanh ghi Vào AH 0Eh Số ổ đĩa: DL 0=Ổ A, 1=Ổ B,2=Ổ C,... Số tất cả các loại ổ đĩa Ra AL Ví dụ: Thiết lập ổ C làm ổ đĩa mặc định hiện hành MOV AH,0Eh MOV DL,02 INT 21h
  3. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 19h – Lấy ổ đĩa mặc định hiện hành - Xác định ổ đĩa mặc định hiện hành Giá trị Điều kiện Thao tác Thanh ghi Vào AH 19h Số ổ đĩa: Ra AL 0= đĩa A, 1=đĩa B, 2=đĩa C,... Ví dụ: Xác định ổ đĩa mặc định hiện hành MOV AH,19h INT 21h CMP AL,2 JE O_DIA_C
  4. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 1Bh – Lấy thông tin ổ đĩa mặc định hiện hành Giá trị Điều kiện Thao tác Thanh ghi Vào AH 1Bh Số sector/cluster Ra AL Trỏ đến byte đầu tiên trong FAT BX DS:BX Kích thước sector vật lý CX Số cluster trên đĩa DX Dung lượng của đĩa AL*CX*DX Ví dụ: Xác định thông tin ổ đĩa mặc định hiện hành MOV AH,1Bh INT 21h
  5. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 1Ch – Lấy thông tin ổ đĩa bất kỳ được chỉ định Giá trị Điều kiện Thao tác Thanh ghi Vào AH 1Ch Số của ổ đĩa (0,1,...) DL Số sector/cluster Ra AL Trỏ đến byte đầu tiên trong FAT BX DS:BX Kích thước sector vật lý CX Số cluster trên đĩa DX Dung lượng của đĩa AL*CX*DX Ví dụ: Xác định thông tin ổ đĩa D MOV AH,1Ch MOV DL,3 INT 21h
  6. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý ổ đĩa INT – Với ngắt 21h * Số hiệu hàm: 36h – Lấy thông tin không gian trống của ổ đĩa. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 36h Số của ổ đĩa: DL 0=Ổ mặc định, 1=Ổ A, 2=Ổ B,.. Số sector/cluster Ra AX Số cluster còn giá trị BX Số byte/sector CX Số cluster trên đĩa DX Dung lượng của đĩa AL*CX*DX Ví dụ: Xác định thông tin không gian trống ổ đĩa mặc định MOV AH,36h MOV DL,0 INT 21h
  7. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý thư mục INT – Với ngắt 21h * Số hiệu hàm: 39h – Tạo thư mục con. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 39h Địa chỉ của chuỗi ASCII DX Mã lỗi nếu có (03 hoặc 05) Ra AX Ví dụ: Tạo thư mục mới ASM trong ổ đĩa C .DATA ‘C:\ASM$’ ASCStr DB .CODE ..... MOV AH,39h LEA DX,ASCStr INT 21h
  8. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý thư mục INT – Với ngắt 21h * Số hiệu hàm: 47h – Lấy thư mục hiện hành. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 47h Số ổ đĩa (0:Mặc định,1=A,2=B,..) DL Địa chỉ không gian vùng đệm. SI Vùng đệm chứa tên thư mục (không Ra SI có tên ổ đĩa) 0Fh nếu phát sinh lỗi AX Ví dụ: Tạo thư mục mới ASM trong ổ đĩa C Buffer DB 64 DUP(20h) ... MOV AH,47h DL, MOV LEA SI,Buffer INT 21 h
  9. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Ví dụ: Minh họa quản lý ổ đĩa và thư mục Yêu cầu: Lấy thông tin đường dẫn thư mục hiện hành .MODEL SMALL .DATA DUONGDAN DB 64 DUP(20h) .CODE MOV AX,@DATA MOV DS,AX CALL LAY_O_DIA CALL LAY_THU_MUC MOV AH,4Ch INT 21h END
  10. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Ví dụ: Minh họa quản lý ổ đĩa và thư mục Yêu cầu: Lấy thông tin đường dẫn thư mục hiện hành LAY_O_DIA PROC MOV AH,19h ;Lay o mac dinh, tra ve AL INT 21h ADD AL,41h ;Lay ma ASCII cua ky tu MOV AH,02h MOV DL,AL INT 21h MOV DL,':' INT 21h MOV DL,'\' INT 21h RET LAY_O_DIA ENDP
  11. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Ví dụ: Minh họa quản lý ổ đĩa và thư mục Yêu cầu: Lấy thông tin đường dẫn thư mục hiện hành LAY_THU_MUC PROC ;Yêu cầu lấy đường dẫn MOV AH,47h MOV DL,0 SI,DUONGDAN ;nạp vào vùng nhớ tại SI LEA INT 21h INDUONGDAN: ;Kiểm tra từng byte CMP BYTE PTR[SI],00h JE QUAYVE ;Nạp byte vào AL MOV AL,[SI] MOV DL,AL MOV AH,02h INT 21h INC SI JMP INDUONGDAN Demo QUAYVE: RET LAY_THU_MUC ENDP
  12. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 41h – Xóa tập tin. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 41h Địa chỉ của chuỗi ASCII chứa đường DX dẫn đến tập tin Mã lỗi nếu có (02,03 hoặc 05) Ra AX Ví dụ: Xóa tập tin ABC.txt trong ổ D .DATA 'D:\ABC.txt‘,00h ASCStr DB .CODE ...... MOV AH,41h LEA DX,ASCStr INT 21h
  13. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 56h – Đổi tên tập tin. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 56h DS:DX trỏ đến đầu tên củ. DS:DX ES:DI trỏ đến đầu tên mới. ES:DI Mã lỗi nếu có (02,03 hoặc 05) Ra AX Ví dụ: Đổi tên tập tin ABC.txt trong ổ D thành DEF.txt .DATA 'D:\ABC.txt‘,00h TapTinA DB 'D:\DEF.txt‘,00h TapTinB DB .CODE ...... MOV AH,56h LEA DX,TapTinA LEA DI,TapTinB INT 21h
  14. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 43h – Lấy hoặc thiết lập thuộc tính tập tin. Giá trị Điều kiện Thao tác Thanh ghi Vào AH 43h Lấy AL 0 DS:DX trỏ đến tên tập tin DS:DX Thiết lập AL 1 Thuộc tính mới CX ES:DI trỏ đến đầu tên mới ES:DI Thanh ghi CX với các bit thuộc tính: Thuộc tính Thuộc tính Bit Bit Chỉ đọc Nhãn đĩa 0 3 Ẩn Thư mục con 1 4 Hệ thống 2 5 Archive
  15. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 43h – Lấy hoặc thiết lập thuộc tính tập tin. Ví dụ: Đổi thuộc tính tập tin Vidu.txt trong ổ đĩa C có thuộc tính ẩn. .DATA DB ‘C:\Vidu.txt’,0 TAPTIN .CODE ..... MOV AL,1 LEA DX,TAPTIN ;Thuộc tính chỉ đọc MOV C X ,2 MOV AK,43h INT 21h ......
  16. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 3Ch – Tạo tập tin mới. Giá trị Điều kiện Thao tác Thanh ghi Thẻ tập tin lưu trong AX Vào AH 3Ch DS:DX trỏ đến tên tập tin DS:DX Thuộc tính tập tin: 0: bình thường, CX 1: chỉ đọc, 2: ẩn, 4: tập tin hệ thống Ví dụ: Tạo ra một tập tin mới trong ổ đỉa C có tên là Vidu.txt. và có thuộc tính chỉ đọc. .DATA TAPTIN DB ‘C:\Vidu.txt’,0 .CODE MOV C X ,1 LEA DX,TAPTIN MOV AH,3Ch INT 21h
  17. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 3Dh – Mở một tập tin đã có. Giá trị Điều kiện Thao tác Thanh ghi Thẻ tập tin lưu trong AX Vào AH 3Dh DS:DX trỏ đến tên tập tin DS:DX Kiểu truy cập: 0 chỉ đọc,1 chỉ ghi, 2 AL đọc và ghi. Ví dụ: Mở tập tin trong ổ đỉa C có tên là Vidu.txt: .DATA TAPTIN DB ‘C:\Vidu.txt’,0 .CODE .... LEA DX, TAPTIN MOV AH,3Dh MOV AL, 0 INT 21h
  18. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 3Eh – Đóng một tập tin đang mở. Giá trị Điều kiện Thao tác Thanh ghi Thẻ tập tin lưu trong AX Vào AH 3Eh Chứa thẻ tập tin BX Ví dụ: Đóng tập tin đang mở: .CODE .... BX, Thẻ tập tin MOV MOV AH,3Eh INT 21h
  19. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 3Fh – Đọc nội dung một tập tin đang mở. Giá trị Điều kiện Thao tác Thanh ghi Thẻ tập tin lưu trong AX Vào AH 3Fh DS:DX trỏ đến vùng bộ nhớ mà dữ DS:DX liệu sẽ chuyển tới Chứa thẻ tập tin BX Số byte cần đọc vào CX Chứa số byte vừa đọc được Ra AX
  20. Chöông 7: Quản lyù vaø xöû lyù ñóa, thö muïc vaø taäp tin Một số chức năng quản lý tập tin INT – Với ngắt 21h * Số hiệu hàm: 3Fh – Đọc nội dung một tập tin đang mở. Ví dụ: Đọc tập tin Vidu.txt trong ổ đĩa C. .DATA Taptin DB ‘C:\Vidu.txt’,0 s DB 101 DUP("$") .CODE ..... ;chuyển thẻ tập tin vào BX MOV BX,AX ;Đọc 100 byte MOV CX,100 ;Lưu nội dung cần đọc vào s LEA DX,s MOV AH,3Fh INT 21h ........
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2