|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 提供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.asp PUBLIC FOPEN, FSIZE, FREAD, FWRITE, FCREATE, FPOS, FCLOSE CODE SEGMENT ASSUME CS:CODE FCLOSE PROC FAR ; IN: ; AX=FILE NO. PUSH BX MOV BX, AX MOV AH, 3EH INT 21H POP BX RETF FCLOSE ENDP FOPEN PROC FAR ; IN: ; DS:DX=FILE NAME ; AL=OPEN MODE ; OUT: ; CF=0 AX=FILE NUM ; CF=1 AX=ERROR CODE MOV AH, 3DH INT 21H RETF FOPEN ENDP FSIZE PROC FAR ; IN: ; AX=FILE NUM ; OUT: ; CF=0 DX:AX=FILE_SIZE ; CF=1 AX=ERROR CODE PUSH BX PUSH CX MOV BX, AX MOV AX, 4202H XOR CX, CX MOV DX, CX INT 21H PUSH AX PUSH DX MOV CX, 0 MOV DX, 0 MOV AX, 4200H INT 21H POP DX POP AX POP CX POP BX RETF FSIZE ENDP FREAD PROC NEAR ; IN: ; DS:DX=DATA BUFFER ; AX=FILE NUM ; CX=LENGTH ; OUT: ; CF=0 AX=READ SIZE ; CF=1 AX=ERROR CODE PUSH BX MOV BX, AX MOV AH, 3FH INT 21H POP BX RETF FREAD ENDP FWRITE PROC FAR ; IN: ; DS:DX=DATA BUFFER ; AX=FILE NUM ; CX=LENGTH ; OUT: ; CF=0 AX=WRITE SIZE ; CF=1 AX=ERROR CODE PUSH BX MOV BX, AX MOV AH, 40H INT 21H POP BX RETF FWRITE ENDP FCREATE PROC FAR ; IN: ; DS:DX=FILE NAME ; OUT: ; CF=0 AX=FILE NUM ; CF=1 AX=ERROR CODE MOV CX, 0 MOV AH, 3CH INT 21H RETF FCREATE ENDP FPOS PROC FAR ; IN: ; AL=MODE ; BX=FILE NUM ; CX:DX=NEW POSITION ; OUT: ; DX:AX=NEW POSITION MOV AH,42H INT 21H RETF FPOS ENDP CODE ENDS END FOPEN |
asm汇编源代码之文件操作相关
tjsoft2025-04-13 7:01
相关推荐
whyutianict_vv20 分钟前
云计算 HCIE 认证体系解析:HCIA/HCIP/HCIE 三级科目与知识边界0+1117 小时前
Linux --从 poll 到 epoll多路转接青瓦梦滋7 小时前
WebSocket协议桌面运维家8 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?zhang133830890758 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案知已难寻8 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施2601_9498477510 小时前
bcrypt.js 跨端三方库仓颉适配全流程m0_6399069410 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础今天重构了吗11 小时前
Linux 上 rm -rf 删错了能找回吗KaiwuDB11 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结