提供7个子程序: 1. 关闭文件 FCLOSE 2. 打开文件 FOPEN 3. 文件大小 FSIZE 4. 读文件 FREAD 5. 写文件 FWRITE 6. 建立文件 FCREATE 7. 读取或设置文件指针 FPOS 具体功能及参数描述如下
; more source code at http://www.ahjoe.com/source/srcdown.aspPUBLIC FOPEN, FSIZE, FREAD, FWRITE, FCREATE, FPOS, FCLOSE CODE SEGMENTASSUME CS:CODEFCLOSE PROC FAR ; IN: ; AX=FILE NO.PUSH BXMOV BX, AXMOV AH, 3EHINT 21HPOP BXRETF FCLOSE ENDPFOPEN PROC FAR ; IN: ; DS:DX=FILE NAME ; AL=OPEN MODE ; OUT: ; CF=0 AX=FILE NUM ; CF=1 AX=ERROR CODEMOV AH, 3DHINT 21HRETFFOPEN ENDPFSIZE PROC FAR ; IN: ; AX=FILE NUM ; OUT: ; CF=0 DX:AX=FILE_SIZE ; CF=1 AX=ERROR CODEPUSH BXPUSH CXMOV BX, AXMOV AX, 4202HXOR CX, CXMOV DX, CXINT 21HPUSH AXPUSH DXMOV CX, 0MOV DX, 0MOV AX, 4200HINT 21HPOP DXPOP AXPOP CXPOP BXRETF FSIZE ENDPFREAD PROC NEAR ; IN: ; DS:DX=DATA BUFFER ; AX=FILE NUM ; CX=LENGTH ; OUT: ; CF=0 AX=READ SIZE ; CF=1 AX=ERROR CODEPUSH BXMOV BX, AXMOV AH, 3FHINT 21HPOP BXRETF FREAD ENDPFWRITE PROC FAR ; IN: ; DS:DX=DATA BUFFER ; AX=FILE NUM ; CX=LENGTH ; OUT: ; CF=0 AX=WRITE SIZE ; CF=1 AX=ERROR CODEPUSH BXMOV BX, AXMOV AH, 40HINT 21HPOP BXRETF FWRITE ENDPFCREATE PROC FAR ; IN: ; DS:DX=FILE NAME ; OUT: ; CF=0 AX=FILE NUM ; CF=1 AX=ERROR CODEMOV CX, 0MOV AH, 3CHINT 21HRETF FCREATE ENDPFPOS PROC FAR ; IN: ; AL=MODE ; BX=FILE NUM ; CX:DX=NEW POSITION ; OUT: ; DX:AX=NEW POSITIONMOV AH,42HINT 21HRETF FPOS ENDPCODE ENDSEND FOPEN |