DOS 功能调用(INT 21)
-------------------------------
AH = 0-2E 适用 DOS 1.0 以上版本
AH = 2F-57 适用 DOS 2.0 以上版本
AH = 58-62 适用 DOS 3.0 以上版本
-------------------------------

AH = 00
功能:程序终止(同 INT 20h)
调用参数:
CS = 程序段前缀

AH = 01
功能:键盘输入并回显
返回参数:
AL = 输入字符

AH = 02
功能:显示输出
调用参数:
DL = 输出字符

AH = 03
功能:异步通讯输入
返回参数:
AL = 输入数据

AH = 04
功能:异步通讯输出
调用参数:
DL = 输出数据

AH = 05
功能:打印机输出
调用参数:
DL = 输出字符

AH = 06
功能:直接控制台 I/O
调用参数:
DL = FF(输入)
字符(输出)
返回参数:
AL = 输入字符

AH = 07
功能:键盘输入(无回显)
返回参数:
AL = 输入字符

AH = 08
功能:键盘输入(无回显),检测 Ctrl-Break
返回参数:
AL = 输入字符

AH = 09
功能:显示字符串
调用参数:
DS:DX = 串地址
‘$' 结束字符串

AH = 0A
功能:键盘输入到缓冲区
调用参数:
DS:DX = 缓冲区首地址
(DS:DX) = 缓冲区最大字符数
返回参数:
(DS:DX) + 1 = 实际输入的字符数

AH = 0B
功能:检验键盘状态
返回参数:
AL = 00:有输入
FF:无输入

AH = 0C
功能:清除输入缓冲区并请求指定的输入功能
调用参数:
AL = 输入功能号(1,6,7,8,A)

AH = 0D
功能:磁盘复位
返回参数:
清除文件缓冲区

AH = 0E
功能:指定当前缺省的磁盘驱动器
调用参数:
DL = 驱动器号(0=A,1=B,...)
返回参数:
AL = 驱动器数

AH = 0F
功能:打开文件
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:文件找到
FF:文件未找到

AH = 10
功能:关闭文件
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:目录修改成功
FF:目录中未找到文件

AH = 11
功能:查找第一个目录项
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:找到
FF: 未找到

AH = 12
功能:查找下一个目录项
调用参数:
DS:DX = FCB首地址(文件名带 * 或 ?)
返回参数:
AL = 00:找到
FF:未找到

AH = 13
功能:删除文件
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:删除成功
FF:未找到

AH = 14
功能:顺序读
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:读成功
01:文件结束,记录中无数据
02:DTA 空间不够
03:文件结束,记录不完整

AH = 15
功能:顺序写
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:写成功
01:盘满
02:DTA 空间不够

AH = 16
功能:建文件
调用参数:
DS:DX = FCB首地址
返回参数:
AL = 00:建立成功
FF:无磁盘空间

AH = 17
功能:文件改名
调用参数:
DS:DX = FCB首地址
(DS:DX + 1) = 旧文件名
(DS:DX + 17) = 新文件名
返回参数:
AL = 00:成功
FF:未成功

AH = 19
功能:取当前缺省的磁盘驱动器
返回参数:
AL = 缺省的驱动器号(0=A,1=B,2=C,...)

AH = 1A
功能:置 DTA 地址
调用参数:
DS:DX = DTA 地址

AH = 1B
功能:取缺省驱动器 FAT 信息
返回参数:
AL = 每簇的扇区数
DS:BX = FAT 标识字节
CX = 物理扇区的大小
DX = 缺省驱动器的簇数

AH = 1C
功能:取任一驱动器 FAT 信息
调用参数:
DL = 驱动器号
返回参数:
同上!

AH = 21
功能:随机读
调用参数:
DS:DX = FCB 首地址
返回参数:
AL = 00:写成功
01:文件结束
02:缓冲区溢出
03:缓冲区不满

AH = 22
功能:随机写
调用参数:
DS:DX = FCB 首地址
返回参数:
AL = 00:写成功
01:盘满
02:缓冲区溢出

AH = 23
功能:测定文件大小
调用参数:
DS:DX = FCB 首地址
返回参数:
AL = 00:成功,文件长度填入 FCB
FF:未找到

AH = 24
功能:设置随机记录号
调用参数:
DS:DX = FCB 首地址

AH = 25
功能:设置中断向量
调用参数:
DS:DX = 中断向量
AL = 中断类型号

AH = 26
功能:建立程序段前缀
调用参数:
DX = 新的程序段的段前缀

AH = 27
功能:随机分块读
调用参数:
DS:DX = FCB 首地址
CX = 记录数
返回参数:
AL = 00:读成功
01:文件结束
02:缓冲区太小,传输结束
03:缓冲区不满
CX = 读取的记录数

AH = 28
功能:随机分块写
调用参数:
DS:DX = FCB 首地址
CX = 记录数
返回参数:
AL = 00:写成功
01:盘满
02:缓冲区溢出

AH = 29
功能:分析文件名
调用参数:
ES:DI = FCB 首地址
DS:SI = ASCIIZ 串
AL = 控制分析标志
返回参数:
AL = 00:标准文件
01:多义文件
02:非法盘符

AH = 2A
功能:取日期
返回参数:
CX = 年
DH:DL = 月:日(二进制)

AH = 2B
功能:设置日期
调用参数:
CX:DH:DL = 年:月:日
返回参数:
AL = 00:成功
FF:无效

AH = 2C
功能:取时间
返回参数:
CH:CL = 时:分
DH:DL = 秒:1/100秒

AH = 2D
功能:设置时间
调用参数:
CH:CL = 时:分
DH:DL = 秒:1/100秒
返回参数:
AL = 00:成功
FF:无效

AH = 2E
功能:置磁盘自动读写标志
调用参数:
AL = 00:关闭标志
01:打开标志

AH = 2F
功能:取磁盘缓冲区的首址
返回参数:
ES:BX = 缓冲区首地址

AH = 30
功能:取 DOS 版本号
返回参数:
AH = 发行号
AL = 版号

AH = 31
功能:结束并驻留
调用参数:
AL = 返回码
DX = 驻留区大小

AH = 33
功能:Ctrl-Break 检测
调用参数:
AL = 00:取状态
01:置状态(DL)
DL = 00:关闭检测
01:打开检测
返回参数:
DL = 00:关闭 Ctrl-Break 检测
01:打开 Ctrl-Break 检测

AH = 35
功能:取中断向量
调用参数:
AL = 中断类型
返回参数:
ES:BX = 中断向量

AH = 36
功能:取空闲磁盘空间
调用参数:
DL = 驱动器号(0=缺省,1=A,2=B,...)
返回参数:
成功:AL = 每簇扇区数
BX = 有效簇数
CX = 每扇区字节数
失败:AX = FFFF

AH = 38
功能:置/取国家信息
调用参数:
DS:DX = 信息区首地址
返回参数:
BX = 国家码(国际电话前缀码)
AX = 错误码

AH = 39
功能:建立子目录(MKDIR)
调用参数:
DS:DX = ASCIIZ 串地址
返回参数:
AX = 错误码

AH = 3A
功能:删除子目录(RMDIR)
调用参数:
DS:DX = ASCIIZ 串地址
返回参数:
AX = 错误码

AH = 3B
功能:改变当前目录(CHDIR)
调用参数:
DS:DX = ASCIIZ 串地址
返回参数:
AX = 错误码

AH = 3C
功能:建立文件
调用参数:
DS:DX = ASCIIZ 串地址
CX = 文件属性
返回参数:
成功:AX = 文件代号
失败:AX = 错误码

AH = 3D
功能:打开文件
调用参数:
DS:DX = ASCIIZ 串地址
AL = 0:读
1:写
2:读/写
返回参数:
成功:AX = 文件代号
失败:AX = 错误码

AH = 3E
功能:关闭文件
调用参数:
BX = 文件号
返回参数:
失败:AX = 错误码

AH = 3F
功能:读文件或设备
调用参数:
DS:DX = 数据缓冲区地址
BX = 文件代号
CX = 读取的字节数
返回参数:
读成功:AX = 实际读入的字节数
0:已到文件末尾
读出错:AX = 错误码

AH = 40
功能:写文件或设备
调用参数:
DS:DX = 数据缓冲区地址
BX = 文件代号
CX = 写入的字节数
返回参数:
写成功:AX = 实际写入的字节数
写失败:AX = 错误码

AH = 41
功能:删除文件
调用参数:
DS:DX = ASCIIZ 串地址
返回参数:
成功:AX = 00
出错:AX = 错误码(2,5)

AH = 42
功能:移动文件指针
调用参数:
BX = 文件代号
CX:DX = 位移量
AL = 移动方式(0,1,2)
返回参数:
成功:DX:AX = 新指针位置
出错:AX = 错误码

AH = 43
功能:置/取文件属性
调用参数:
DS:DX = ASCIIZ 串地址
AL = 0:取文件属性
1:置文件属性
CX = 文件属性
返回参数:
成功:文件属性
失败:AX = 错误码

AH = 44
功能:设备文件 I/O 控制
调用参数:
BX = 文件代号
AL = 0:取状态
1:置状态 DX
2:读数据
3:写数据
6:取输入状态
7:取输出状态
返回参数:
DX = 设备信息

AH = 45
功能:复制文件代号
调用参数:
BX = 文件代号 1
返回参数:
成功:AX = 文件代号 2
失败:AX = 错误码

AH = 46
功能:人工复制文件代号
调用参数:
BX = 文件代号 1
CX = 文件代号 2
返回参数:
失败:AX = 错误码

AH = 47
功能:取当前目录路径名
调用参数:
DL = 驱动器号
DS:SI = ASCIIZ 串地址
返回参数:
(DS:SI) = ASCIIZ 串地址
失败:AX = 错误码

AH = 48
功能:分配内存空间
调用参数:
BX = 申请内存容量
返回参数:
成功:AX = 分配内存首址
失败:BX = 最大可用空间

AH = 49
功能:释放内存空间
调用参数:
ES = 内存起始段地址
返回参数:
失败:AX = 错误码

AH = 4A
功能:调整已分配的存储块
调用参数:
ES = 原内存起始地址
BX = 再申请的容量
返回参数:
失败:BX = 最大可用空间
AX = 错误码

AH = 4B
功能:装配/执行程序
调用参数:
DS:DX = ASCIIZ 串地址
ES:BX = 参数区首地址
AL = 0:装入执行
3:装入不执行
返回参数:
失败:AX = 错误码

AH = 4C
功能:带返回码结束
调用参数:
AL = 返回码

AH = 4D
功能:取返回码
返回参数:
AX = 返回代码

AH = 4E
功能:查找第一个匹配文件
调用参数:
DS:DX = ASCIIZ 串地址
CX = 属性
返回参数:
AX = 出错代码(01,18)

AH = 4F
功能:查找下一个匹配文件
调用参数:
DS:DX = ASCIIZ 串地址(文件名中带 ? 或 *)
返回参数:
AX = 出错代码(18)

AH = 54
功能:取盘自动读写标志
返回参数:
AL = 当前标志值

AH = 56
功能:文件改名
调用参数:
DS:DX = ASCIIZ 串(旧)
ES:DI = ASCIIZ 串(新)
返回参数:
AX = 出错码(03,05,17)

AH = 57
功能:置/取文件日期和时间
调用参数:
BX = 文件代号
AL = 0:读取
设置(DX:CX)
返回参数:
DX:CX = 日期和时间
失败:AX = 错误码

AH = 58
功能:取/置分配策略码
调用参数:
AL = 0:取码
1:置码(BX)
BX = 策略码
返回参数:
成功:AX = 策略码
失败:AX = 错误码

AH = 59
功能:取扩充错误码
返回参数:
AX = 扩充错误码
BH = 错误类型
BL = 建议的操作
CH = 错误场所

AH = 5A
功能:建立临时文件
调用参数:
CX = 文件属性
DS:DX = ASCIIZ 串地址
返回参数:
成功:AX = 文件代号
失败:AX = 错误码

AH = 5B
功能:建立新文件
调用参数:
CX = 文件属性
DS:DX = ASCIZ 串地址
返回参数:
成功:AX = 文件代号
失败:AX = 错误码

AH = 5C
功能:控制文件存取
调用参数:
AL = 00:封锁
01:开启
BX = 文件代号
CX:DX = 文件位移
SI:DI = 文件长度

AH = 62
功能:取程序段前缀地址
返回参数:
BX = PSP 地址

x01.os.5: DOS 功能调用的更多相关文章

  1. 汇编语言常用的DOS功能调用

    今天掌握了汇编语言常用的DOS功能调用,现在列出来供参考. 1.单字符输入(1号调用) 格式:MOV AH,1 INT 21H 功能:达到输入状态,从键盘上输入字符的ASCII码送入AX中,并送显示器 ...

  2. 2017.10.18 微机原理与接口----汇编语言语法和DOS功能调用

    4.1 汇编语言中的基本数据 ·标识符 ·常数 ·变量具有三个属性: (1)段地址(SEG):变量所在段的段地址 (2)偏移地址(OFFSET):变量所在段内的偏移地址 (3)类型(TYPE):每个变 ...

  3. x01.os.16: 添加功能

    准备工作  1.确保是 win xp,如是 win 8,运行 nasm 需按提示同意安装组件.  2.确保 src 和 z_tools 在同一目录下,nasm 已包含在 z_tools 文件夹中.  ...

  4. DOS功能的调用

    DOS功能的调用:主要包含三方面的子程序:设备驱动(基本I/O),文件管理和其他(包括内存管理,自取时间,自取终端向量,总之程序等)随着DOS版本的升级,这种DOS功能调用的子程序数量也在不断的增加, ...

  5. x01.os.13: 文件系统

    停了两天电,忽然得空闲.找来破吉他,已然不成弦.           丁丁当当敲,敲到电来到.为把时间捡,熬夜三四点. 从我的置顶随笔 x01.Lab.Download 中下载 x01.os.12.t ...

  6. x01.os.9: 进程切换

    进入内核后,当然不能无所事事.先创建三个进程,分别打印 A,B,C.虽然只是简单的打印,但却是一切扩展的基础,不可等闲视之. 进程切换,涉及一系列的寄存器需要保护,于是,就有了 ProcessStac ...

  7. x01.os.7: 傻子一样的等

    傻子一样的等 昨日出差,办完事后,下午 2:30,准备进长途汽车站买票回家,被一人拦住,说可以带我进去,车马上就要开了,买票来不及.我以为是汽车司机,就跟了进去.进去后,他打了个电话,说 3:30 车 ...

  8. DOS系统功能调用表(INT 21H)

    AH 功能 调用参数 返回参数 00 程序终止(同INT 20H) CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通迅输入 AL=输入数据 04 异 ...

  9. x01.os.14: 时间都去哪儿了

    时间都去哪儿了 老帕的“花儿为什么这样红”,三分钟引起六次欢呼,却败给了张碧晨.试想一下,如果是人气更高的陈冰,即使唱得和张碧晨一模一样,可能仍然不敌老帕,为什么张碧晨就能取胜呢?有这么个笑话:一人弹 ...

随机推荐

  1. mysql本地可以访问 网络不能访问

    远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...

  2. MongoDB环境准备

    1.安装MongoDB MongoDB的安装非常简单,只需要将下载的MongoDB的压缩文件解压到任意目录,并将其中的bin目录加入到系统的path环境变量中即可 2.启动MongoDB 在启动Mon ...

  3. Play!中使用HTTP异步编程

    本章译者:@Sam Liu (译者未留下自己的主页,请Sam Liu见此文,加入群168013302联系‘大黄蜂@翻译play’) 这一章主要讲解如何运用异步模式实现典型的长连接(long-polli ...

  4. jQuery仿京东无限级菜单HoverTree

    官方网址:http://keleyi.com/jq/hovertree/ 效果图: 看了上面效果图,你或许已经明白为什么是仿京东菜单.如果还不明白,请访问http://list.jd.com/list ...

  5. Request.MapPath和ServerMapPath

    一.路径 / 念 反斜杠,/ 是超文本协议的路径分隔符号,所有的网站在浏览器中显示的路径分隔都是以"/"表示.它一般代表虚拟路径. \ 念 斜杠,在普通程序代码中则以"\ ...

  6. 【问题及解决】fonts/fontawesome-webfont.woff2 404 (Not Found)

    问题: 虽然网页正常显示和运行,但是有2个字体文件出现404错误.像笔者这种强迫症是接受不了的. 解决: 因为笔者的服务器是虚拟主机,只需要在主机控制器平台添加对应的MIME类型即可. 这样服务器就支 ...

  7. 谈谈GIS与地理学语言

    二十一世纪初,也就是我们这代人生活的昨天和今天,伴随着"空间觉醒",GIS逐渐被人们所熟知.以地学原理为依托的地理信息系统,在学术界被称为是第三代地理学语言.这个概念首先是由号称是 ...

  8. Javascript - Arraylike的7种实现

    jQuery的崛起让ArrayLike(类数组)在javascript中大放异彩,它的出现为一组数据的行为(函数)扩展提供了基础. 类数组和数组相似,具有数组的某些行为,但是它相比数组可以更加自由的扩 ...

  9. Atitit.阿里云c盘 系统盘爆满解决方案

    Atitit.阿里云c盘 系统盘爆满解决方案 Use disk parse tool to scan then C:\widnow/soursce /install.wim   迁移  3g 显示在 ...

  10. Large-file-chunk-size 设置最大文件上传值

    Large-file-chunk-size: Stsadm property (Office SharePoint Server) SharePoint 2007   0 out of 1 rated ...