没有合适的资源?快使用搜索试试~ 我知道了~
首页BIOS与DOS中断调用详解:汇编编程必备
本文档详细介绍了BIOS和DOS中断调用的基础知识,主要关注于DOS中断部分。DOS中断是早期计算机系统中至关重要的功能,它们允许软件与硬件进行交互,执行各种基本操作。以下是部分关键中断函数及其功能: 1. 字符功能调用类中断(01H、07H、08H): - 这些中断用于从标准输入设备(如键盘)读取字符,可以设置不同的过滤选项:01H(过滤控制字符并回显)、07H(不过滤,不回显)和08H(过滤但不回显)。返回输入的ASCII码。 2. 字符输出中断(02H): - 用于向标准输出设备(如屏幕)输出一个字符,可以被重定向,无法判断输出是否已满。 3. 辅助设备输入/输出中断(03H/04H): - 03H用于从辅助设备(默认COM1)读取字符,04H用于向辅助设备写入字符。 4. 打印机输出中断(05H): - 将字符输出到默认打印机(LPT1)或可由MODE命令更改的设备。 5. 控制台输入/输出中断(06H): - 用于在控制台进行输入/输出操作,如果被重定向,无法判断文件尾或磁盘满。 6. 字符串输出中断(09H): - 将指定地址处的字符串输出到标准输出设备,同样可能受重定向影响。 理解这些中断函数对于学习和编写汇编程序至关重要,因为它们构成了操作系统与硬件设备之间通信的基本途径。掌握这些中断调用不仅有助于开发简单的控制台应用程序,还对底层系统编程和理解计算机工作原理有着深远影响。学习者通过实践和理论结合,能够逐步提升自己的汇编技能,成为真正的高手。
资源详情
资源推荐
位 1=1 隐含位 5=1 归档
位 2=1 系统位 6-15=0 保留
位 3=1 卷标签
DX=打开标志 位 3~0 0—打开失败,1—打开文件,2—替换文件
位 7~4 0—打开失败,1—创建文件
位 15~8 0—保留
出口参数:CF=1——操作失败,AX=错误号,其含义见错误代码表,否则,
AX=文件句柄
CX=1——文件存在,打开之
=2——文件不存在,创建之
5、文件操作功能(FCB)(File Operation Function)
0FH —打开文件 16H —创建文件
10H —关闭文件 17H —文件换名
11H、12H —查找第一个或下一个文件 23H —读取文件的大小
13H —删除文件 29H —分析文件名
(1)、功能 0FH
功能描述:打开文件,并使之为顺序读/写作好准备
入口参数:AH=0FH
DS:DX=文件控制块的地址
出口参数:AL=00H——打开成功,否则,AL=FFH(如文件找不到)
在 MS-DOS 操作系统中,文件控制块的字段如下表所示。 字段名偏移量字段含义
驱动器字 00H1 for drive A, 2 for drive B,...
当前块字段 0CH00H
记录大小字段 0EH0080H
文件长度字段 10H 文件字节数
日期字段 14H 日期
时间字段 16H 时间
(2)、功能 10H
功能描述:关闭文件
入口参数:AH=10H
DS:DX=文件控制块的地址
出口参数:AL=00H——关闭成功,否则,AL=FFH
(3)、功能 11H 和 12H
功能描述:查找第一个或下一个相匹配的文件
入口参数:AH=11H——第一个相匹配的文件
=12H——下一个相匹配的文件
DS:DX=文件控制块的地址
出口参数:AL=00H——查找到,否则,AL=FFH
(4)、功能 13H
功能描述:在指定(或缺省)的驱动器中,删除所有相匹配的文件
入口参数:AH=13H
DS:DX=文件控制块的地址
出口参数:AL=00H——删除成功,否则,AL=FFH
(5)、功能 16H
功能描述:在当前目录中创建一个文件,其文件长度为 0,并打开该文件,为随后的读/写操作作
好必要的准备
入口参数:AH=16H
DS:DX=未打开的文件控制块的地址
出口参数:AL=00H——创建成功,否则,AL=FFH(如:磁盘满)
(6)、功能 17H
功能描述:在指定的驱动器的当前目录中,把所有相匹配的文件换名
入口参数:AH=17H
DS:DX=指定文件控制块的地址
出口参数:AL=00H——换名成功,否则,AL=FFH
(7)、功能 23H
功能描述:在当前目录中查找一个相匹配的文件。如果发现,则用其记录数来更新其文件大小
入口参数:AH=23H
DS:DX=未打开的文件控制块的地址
出口参数:AL=00H——匹配成功,FCB 中偏移量为 21H 的字段被设置为其记录数,否则,AL
=0FFH
(8)、功能 29H
功能描述:分析一个字符串(文件名)置入 FCB 表中的不同字段
入口参数:AH=29H
CX=要写入的记录数
DS:SI=字符串段的地址
ES:DI=FCB 的地址
AL=分析的控制标志位 位 3=1——若字符串中有文件后缀,则 FCB 中的文件后缀将改变
=0——若后缀忽略修改,或若分析后无后缀,则 FCB 中后缀字段被置为“空”
位 2=1——若字符串中有文件名,则 FCB 中的文件名将改变
=0——若文件名忽略修改,或若分析后无文件名,则 FCB 中文件名字段被置为“空”
位 1=1——若字符串中指定了驱动器号,则 FCB 中的 ID 字节被修改
=0——若 ID 字节忽略修改,或若分析后没有指定驱动器号,则 FCB 中驱动器字段被置为 0(缺
省值)
位 0=1——
=0——忽略前导分割符
不忽略前导分割符
出口参数:AL=00H—没有通配字符 01H—有通配字符 FFH—驱动器号非法
DS:SI=分析后文件名第一个字符的地址
ES:DI=格式化后的、未打开的 FCB 地址
6、记录操作功能(Record Function)
1AH —设置数据传输区地址 42H —设置文件指针
2FH —读取数据传输区地址 5CH —文件区域加锁或解锁
3FH —读文件或设备 68H —提交文件缓冲区数据
40H —写文件或设备
(2)、功能 2FH
功能描述:为 FCB 读/写操作而获取 DTA 的当前地址
入口参数:AH=2FH
出口参数:ES:BX=DTA 的段地址和偏移量
(3)、功能 3FH
功能描述:从先前打开的文件中读出指定数目的字节,并移动文件指针
入口参数:AH=3FH
BX=文件句柄
CX=将要读出的字节数
DS:DX=存放字符的缓冲区地址
出口参数:CF=0——读取成功,AX=读取的字符数,否则,AX=错误号(05H 或 06H),其含
义见错误代码表
(4)、功能 40H
功能描述:向先前打开的文件写入指定数量的字节,并相应修改文件指针
入口参数:AH=40H
BX=文件句柄
CX=写入的字节数
DS:DX=存放数据的缓冲区地址
出口参数:CF=0——关闭成功,AX=写入的字节数,否则,AX=错误号(05H 或 06H),其含
义见错误代码表
(5)、功能 42H
功能描述:设置文件指针的相对位置(相对与文件头、文件尾和当前位置)
入口参数:AH=42H
BX=文件句柄
CX=偏移量的高位
DX=偏移量的低位
AL=00H——从文件头开始的绝对偏移量
=01H——从当前文件指针开始的偏移量(可带符号)
剩余70页未读,继续阅读
zzaav
- 粉丝: 2
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功