Tải bản đầy đủ (.pdf) (22 trang)

Chương 7 - Quản lý và xử lý đĩa, thư mục và tập tin pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (420.45 KB, 22 trang )

Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 0Dh Reset a
Trong mt iu kin lm vic, nu trong quỏ trỡnh x lý cỏc tp tin/chng
trỡnh b l Reset li a xúa vựng m ca tp tin
Thao tỏc
Thanh ghi
Giỏ tr iu kin
Vo

AH

0Dh

Vớ d:
MOV AH,0Dh
INT 21h
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 0Eh Chn a mc nh
- Chn mt a lm a mc nh hin hnh
Thao tỏc
Thanh ghi
Giỏ tr iu kin
Vo

AH

0Eh


DL

<S>

S
a:
0= A, 1= B,2= C,

Ra

AL

<S>

S
tt c cỏc loi a
Vớ d: Thit lp C lm a mc nh hin hnh

MOV AH,0Eh
MOV DL,02
INT 21h
Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 19h Ly a mc nh hin hnh
- Xỏc nh a mc nh hin hnh
Thao tỏc
Thanh ghi
Giỏ tr iu kin
Vo


AH

19h

Ra

AL

<S>

S
a:
0= a A, 1=a B, 2=a C,

Vớ d: Xỏc nh a mc nh hin hnh

MOV AH,19h
INT 21h

CMP AL,2
JE O_DIA_C
Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 1Bh Ly thụng tin a mc nh hin hnh
Thao tỏc
Thanh ghi

Giỏ tr iu kin

Vo

AH

1Bh

Ra

AL

S
sector/cluster
BX

DS:BX

Tr
n byte u tiờn trong FAT
CX

Kớch thc sector
vt lý
DX

S
cluster trờn a
AL*CX*DX
Dung lng
ca a
Vớ d: Xỏc nh thụng tin a mc nh hin hnh

MOV AH,1Bh
INT 21h
Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 1Ch Ly thụng tin a bt k c ch nh
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

1Ch

DL

<S>

S
ca a (0,1, )
Ra

AL

S
sector/cluster
BX


DS:BX

Tr
n byte u tiờn trong FAT
CX

Kớch thc sector
vt lý
DX

S
cluster trờn a
AL*CX*DX
Dung lng
ca a
Vớ d: Xỏc nh thụng tin a D
MOV AH,1Ch
MOV DL,3
INT 21h
Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 36h Ly thụng tin khụng gian trng ca a.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH


36h

DL

<S>

S
ca a:
0= mc nh, 1= A, 2= B,

Ra

AX

S
sector/cluster
BX

S
cluster cũn giỏ tr
CX

S
byte/sector
DX

S
cluster trờn a
AL*CX*DX

Dung lng
ca a
Vớ d: Xỏc nh thụng tin khụng gian trng a mc nh
MOV AH,36h
MOV DL,0
INT 21h
Mt s chc nng qun lý a
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 39h To th mc con.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

39h

DX

a
ch ca chui ASCII
Ra

AX


li nu cú (03 hoc 05)

Vớ d: To th mc mi ASM trong a C
.DATA
ASCStr DB C:\ASM$
.CODE

MOV AH,39h
LEA DX,ASCStr
INT 21h
Mt s chc nng qun lý th mc
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 47h Ly th mc hin hnh.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

47h

DL

<S>

S
a (0:Mc nh,1=A,2=B, )
SI


a
ch khụng gian vựng m.
Ra

SI

Vựng

m cha tờn th mc (khụng
cú tờn a)

AX

0Fh nu
phỏt sinh li
Vớ d: To th mc mi ASM trong a C
Buffer DB 64 DUP(20h)

MOV AH,47h
MOV DL,<s a>
LEA SI,Buffer
INT 21h
Mt s chc nng qun lý th mc
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
Yờu cu: Ly thụng tin ng dn th mc hin hnh
.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

Vớ d: Minh ha qun lý a v th mc
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
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
Yờu cu: Ly thụng tin ng dn th mc hin hnh
Vớ d: Minh ha qun lý a v th mc
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin

LAY_THU_MUC PROC
MOV AH,47h ;Yờu cu ly ng dn
MOV DL,0
LEA SI,DUONGDAN ;np vo vựng nh ti SI
INT 21h

INDUONGDAN:
CMP BYTE PTR[SI],00h ;Kim tra tng byte
JE QUAYVE
MOV AL,[SI] ;Np byte vo AL
MOV DL,AL
MOV AH,02h
INT 21h
INC SI
JMP INDUONGDAN

QUAYVE:
RET
LAY_THU_MUC ENDP
Yờu cu: Ly thụng tin ng dn th mc hin hnh
Vớ d: Minh ha qun lý a v th mc
Demo
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 41h Xúa tp tin.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo


AH

41h

DX

a
ch ca chui
ASCII cha ng
dn n tp tin

Ra

AX


li nu cú (02,03 hoc 05)
Vớ d: Xúa tp tin ABC.txt trong D
.DATA
ASCStr DB 'D:\ABC.txt,00h
.CODE

MOV AH,41h
LEA DX,ASCStr
INT 21h
Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 56h i tờn tp tin.

Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

56h

DS:DX

DS:DX tr n u tờn c.

ES:DI

ES:DI tr n u tờn mi.

Ra

AX


li nu cú (02,03 hoc 05)
Vớ d: i tờn tp tin ABC.txt trong D thnh DEF.txt
.DATA
TapTinA DB 'D:\ABC.txt,00h
TapTinB DB 'D:\DEF.txt,00h
.CODE


MOV AH,56h
LEA DX,TapTinA
LEA DI,TapTinB
INT 21h
Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 43h Ly hoc thit lp thuc tớnh tp tin.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

43h

Ly

AL

0

DS:DX

DS:DX tr n tờn tp tin

Thit
lp


AL

1

CX

<S>

Thu
c tớnh mi
ES:DI

ES:DI tr n u tờn mi

Thanh ghi CX vi cỏc bit thuc tớnh:
Bit Thuc tớnh Bit Thuc tớnh
0 Ch c 3 Nhón a
1 n 4 Th mc con
2 H thng 5 Archive
Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 43h Ly hoc thit lp thuc tớnh tp tin.
Vớ d: i thuc tớnh tp tin Vidu.txt trong a C cú thuc tớnh n.
.DATA
TAPTIN DB C:\Vidu.txt,0
.CODE

MOV AL,1

LEA DX,TAPTIN
MOV CX,2 ;Thuc tớnh ch c
MOV AK,43h
INT 21h

Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 3Ch To tp tin mi.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

3Ch

Th
tp tin lu trong AX
DS:DX

DS:DX tr n tờn tp tin

CX

<S>

Thu

c tớnh tp tin: 0: bỡnh thng,
1: ch c, 2: n, 4: tp tin h thng

Vớ d: To ra mt tp tin mi trong a C cú tờn l Vidu.txt. v cú thuc
tớnh ch c.
.DATA
TAPTIN DB C:\Vidu.txt,0
.CODE
MOV CX,1
LEA DX,TAPTIN
MOV AH,3Ch
INT 21h

Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 3Dh M mt tp tin ó cú.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

3Dh

Th
tp tin lu trong AX
DS:DX


DS:DX tr n tờn tp tin

AL

<S>

Kiu
truy cp: 0 ch c,1 ch ghi, 2
c v ghi.

Vớ d: M tp 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

Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 3Eh úng mt tp tin ang m.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo


AH

3Eh

Th
tp tin lu trong AX
BX

Cha
th tp tin
Vớ d: úng tp tin ang m:

.CODE

MOV BX, Th tp tin
MOV AH,3Eh
INT 21h

Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 3Fh c ni dung mt tp tin ang m.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH


3Fh

Th
tp tin lu trong AX
DS:DX

DS:DX tr n vựng b nh m d
liu s chuyn ti

BX

Cha
th tp tin
CX

S
byte cn c vo
Ra

AX

Cha
s byte va c c
Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
Vớ d: c tp tin Vidu.txt trong a C.
.DATA
Taptin DB C:\Vidu.txt,0

s DB 101 DUP("$")
.CODE

MOV BX,AX ;chuyn th tp tin vo BX
MOV CX,100 ;c 100 byte
LEA DX,s ;Lu ni dung cn c vo s
MOV AH,3Fh
INT 21h


Mt s chc nng qun lý tp tin
* S hiu hm: 3Fh c ni dung mt tp tin ang m.
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
* S hiu hm: 40h c ni dung mt tp tin ang m.
Thao tỏc
Thanh ghi

Giỏ tr iu kin
Vo

AH

40h

Th
tp tin lu trong AX
DS:DX

DS:DX tr n vựng b nh m d

liu
lu
BX

Cha
th tp tin
CX

S
byte cn ghi vo
Mt s chc nng qun lý tp tin
Chửụng 7: Qun lyự vaứ xửỷ lyự ủúa, thử muùc vaứ taọp tin
INT Vi ngt 21h
Vớ d: Ghi chui "Khoa CNTT DH Quang Trung" vo tp tin Vidu.txt

.DATA
Taptin DB C:\Vidu.txt,0
s db 'Khoa CNTT DH Quang Trung$'
.CODE

MOV BX,AX ;a th tp tin vo trong thanh ghi BX
LEA DX,s ;DX tr n vựng d liu b nh
MOV CX,24 ;Ghi 24 byte vo tp tin Vidu.txt
MOV AH,40h
INT 21h

Mt s chc nng qun lý tp tin
* S hiu hm: 40h c ni dung mt tp tin ang m.

×