欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > asm汇编源代码之文件操作相关

asm汇编源代码之文件操作相关

2025/11/17 7:45:13 来源:https://blog.csdn.net/tjsoft/article/details/147177350  浏览:    关键词:asm汇编源代码之文件操作相关

提供7个子程序:

  1. 关闭文件 FCLOSE

  2. 打开文件 FOPEN

  3. 文件大小 FSIZE

  4. 读文件 FREAD

  5. 写文件 FWRITE

  6. 建立文件 FCREATE

  7. 读取或设置文件指针 FPOS

具体功能及参数描述如下

; ----------------------------
FCLOSE PROC  FAR
; IN:
;   AX=FILE NUMBER
; ____________________________
FOPEN  PROC  FAR
; IN:
;   DS:DX=FILE NAME
;   AL=OPEN MODE
; OUT:
;   CF=0  AX=FILE NUM
;   CF=1  AX=ERROR CODE
; ____________________________
FSIZE  PROC  FAR
; IN:
;   AX=FILE NUM
; OUT:
;   CF=0 DX:AX=FILE_SIZE
;   CF=1 AX=ERROR CODE
; ____________________________
FREAD  PROC  NEAR
; IN:
;   DS:DX=DATA BUFFER
;   AX=FILE NUM
;   CX=LENGTH

;   CF=0 AX=READ SIZE
;   CF=1 AX=ERROR CODE
; ____________________________
FWRITE PROC  FAR
; IN:
;   DS:DX=DATA BUFFER
;   AX=FILE NUM
;   CX=LENGTH
; OUT:
;   CF=0 AX=WRITE SIZE
;   CF=1 AX=ERROR CODE
; ____________________________
FCREATE PROC  FAR
; IN:
;   DS:DX=FILE NAME
; OUT:
;   CF=0 AX=FILE NUM
;   CF=1 AX=ERROR CODE
; ____________________________
FPOS  PROC  FAR
; IN:
;   AL=MODE
;   BX=FILE NUM
;   CX:DX=NEW POSITION
; OUT:
;   DX:AX=NEW POSITION
 

 

; 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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词