经典汇编语言教程:例8.14 类似TYPE命令的程序

例8.14 类似TYPE命令的程序

例8.14 编写一个类似TYPE命令的程序,其要求如下:
1)、用键盘输入文件名(可包含路径),若输入的字符串为空,则程序运行结束;
2)、若输入的文件存在,则显示其内容,否则,显示文件不存在的信息。

解:
.MODEL SMALL
.DATA
FName DB 30, ?, 30 DUP(?), 0
Fail DB "Not Found", 10, 13, "$"
Buff DB 128 dup(?)
.CODE
.STARTUP
again:
MOVAH, 0AH
LEADX, FName
INT21H;输入的文件名
MOVBL, FName+1
CMPBL, 0
JZover;检查文件名是否为空
XORBH, BH
MOVFName[BX+2], 0
MOVDX, Offset FName+2
MOVAL, 0H
MOVAH, 3DH
INT21H;以只读方式打开文件
JNCsucc
LEADX, Fail
MOVAH, 9H
INT21H
JMPagain
succ:
MOVBX, AX;把文件句柄赋给BX
read:
LEADX, BUFF
MOVCX, 128
MOVAH, 3FH
INT21H;从文件中最多一次读取128个字符
CMPAX, 0
JZclose;读取的字符数为0
JCclose;读错误
PUSHBX;保护文件句柄
MOVDX, offset buff
MOVCX, AX
MOVBX, 1;屏幕设备的句柄规定为1
MOVAH, 40H
INT21H;把读出的字符显示在屏幕上
POPBX;恢复文件句柄
JMPread
close:
MOVAH, 3EH
INT21H
JMPAGAIN
over:
.EXIT0
END

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号