经典汇编语言教程:附录3.1 系统功能的说明

附录3.1 系统功能的说明

功能描述:设置中断向量表
入口参数:AH=中断号
DS:DX=中断处理程序的入口地址
出口参数:

(2)、功能30H

功能描述:取MS-DOS操作系统的版本号
入口参数:AH=30H
出口参数:AL=0——V 1.0;对其它高版本有:AL=主要版本号
AH=次版本号(MS-DOS 3.1=0AH,...)
BH=OEM的序列号(Original Equipment Manufacturer)
BL:CX=24位用户序列号

(3)、功能33H

功能描述:获得或改变操作系统中断的状态。在功能调用期间,将影响^C的检测
入口参数:AH=33H
AL=00H——取状态
=01H——设置状态,DL=00/01表示置该状态OFF/ON
出口参数:取状态时,DL=00/01——分别表示OFF/ON
说明:
1、若AL中存入其它的功能号,则返回时,AL的值为0FFH;
2、若置AL为5,则启动驱动器号返回在DL中(1-A,2-B,…)

(4)、功能34H

功能描述:获得InDos标志的远地址,它由DOS维护表示DOS时活跃的
入口参数:AH=34H
出口参数:ES:BX=InDos标志的远地址
若该单元值为1,表示DOS功能在执行,否则,则不是。

(5)、功能35H

功能描述:取指定中断号的入口地址
入口参数:AH=35H
AL=中断号
出口参数:ES:BX=中断处理程序的入口地址

(6)、功能38H

功能描述:读取或设置国家信息
入口参数:AH=38H
当读取国家信息时
DS:DX=存放返回信息的地址
AL=0——取当前国家信息
AL=1~0FEH——取国家代码小于255的国家信息
AL=0FFH——取代码大于等于255的国家信息,BX=国家代码
设置国家信息时
DX=0FFFFH
AL=0~0FEH——设置国家代码小于255的国家信息
AL=0FFH——置代码大于等于255的国家信息,BX=国家代码
出口参数:CF=0——调用成功,BX=国家代码,否则。AX=错误代码(02H),其含义见错误代码表
说明国家信息如下所示:
字节0-1H:日期格式:0—mdy、1—dmy、2—ymd
字节2-6H:货币字符
字节7-8H:数值千位分割符
字节9-0AH:数值精度分割符
字节0B-0CH:日期间隔符
字节0D-0EH:时间间隔符
字节0FH:货币格式
位0=0——货币符号在前,否则,货币符号在后
位1=0——货币符号和数据之间无空格,否则,二者之间有一个空格
位2=0——货币符号和小数点分开,否则,货币符号代替小数点
字节10H:货币的小数位数
字节11H:时间格式。位0=0—12小时制,否则,24小时制
字节12~15H:Case-Map调用地址
字节16~17H:字符串分割符
字节18~21H:保留

(7)、功能44H

功能描述:输入/输出控制,其子功能描述:
00H—取设备信息01H—取设备信息
02H—从字符设备驱动器接受控制数据03H—发送控制数据到字符设备驱动器
04H—从块设备驱动器接受控制数据    05H—发送控制数据到块设备驱动器
06H—检查输入状态07H—检查输出状态
08H—检查块设备是否为可拆卸设备09H—检查设备是否为远程设备
0AH—检查句柄是否为远程对象0BH—改变共享访问入口数
0CH—字符设备的一般I/O控制信息0DH—块设备的一般I/O控制信息
0EH—读取逻辑驱动器映射关系0FH—设置逻辑驱动器映射关系
说明:输入/输出子功能中的00H、06H和07H仅针对文件句柄,子功能00H~ 08H不支持网络设备。

(8)、功能50H

功能描述:设置程序段前缀(PSP)地址
入口参数:AH=50H
BX=新的PSP地址
出口参数:

(9)、功能51H

功能描述:读取程序段前缀(PSP)地址
入口参数:AH=51H
出口参数:BX=PSP地址

(10)、功能59H

功能描述:读取扩展的错误信息
入口参数:AH=59H
BX=00H
出口参数:AX=扩展的错误代码,其含义见错误代码表
BH=错误类型,其定义如下:
01h—资源短缺02h—处于临时状态而非错误
03h—权限问题04h—系统软件内部错误
05h—硬件失败06h—系统软件失败,但不是活跃进程失败
07h—应用程序错08h—文件或数据项未发现
09h—文件或数据项类型或格式错0Ah—文件或数据项相互加锁
0Bh—驱动器中坏磁盘,磁盘中坏区域或存储问题
0Ch—其它错误

BL=建议采用的措施,其定义如下:
01h — 重试若干次后,再选"终止"或"忽略"
02h — 重试若干次(二次之间要等待)后,再选"终止"或"忽略"
03h — 从用户获取正确的信息
04h — 终止应用程序,并清除其所使用资源
05h — 立即终止程序,但没有清除其资源
06h — 忽略错误
07h — 消除错误原因,再重试

CH=错误地点,其定义如下:
01h — 不知道
02h — 块设备(磁盘或磁盘模拟器)
03h — 网络
04h — 串行设备
05h — 内存

ES:DI=插入磁盘标签的字符串,若AX=0022h(非法改变磁盘)

(11)、功能5EH

功能描述:读取机器名,读取/设置打印机配置
子功能号功能描述
00h读取机器名
02h设置打印机安装字符串
03h读取打印机安装字符串
①、子功能1
入口参数:AH=5EH
AL=00H
DS:DX=接受字符串缓冲区的地址
出口参数:CF=1——操作失败,AX=错误号(01H),其含义见错误代码表,否则,
CH=00H——机器名未定义,否则,机器名已定义
CL=NetBIOS名称号(当CH≠00H时)
DS:DX=标识符地址(当CH≠00H时)
②、子功能2
入口参数:AH=5EH
AL=02H
BX=重定向列表索引
CX=安装字符串的长度
DS:SI=安装字符串的地址
出口参数:CF=0——操作成功,否则,AX=错误号(01H),其含义见错误代码表
③、子功能3
入口参数:AH=5EH
AL=03H
BX=重定向列表索引
ES:DI=接受字符串缓冲区的地址
出口参数:CF=0——操作成功,CX=接受字符串的长度,否则,AX=错误号(01H),其含义见错误代码表

(12)、功能5FH

功能描述:设备重定向
子功能号功能描述
02h读取重定向列表索引
03h重定向设备
①、子功能1
入口参数:AH=5FH
AL=02H
BX=重定向列表索引
DS:SI=接受本地设备名的16字节存储区地址
ES:DI=接受网络名的128字节存储区地址
出口参数:CF=1——操作失败,AX=错误号(01H或12H),其含义见错误代码表,否则,BH位0=0H——设备合法,否则,设备非法
BL=设备类型——03H:打印机,04H:驱动器
CX=存储参数值
DX=被破坏
BP=被破坏
DS:SI=存放本地设备名的地址
ES:DI=存放网络名的地址
②、子功能2
入口参数:AH=5FH
AL=03H
BL=设备类型——03H:打印机,04H:驱动器
CX=调用者保存的参数
DS:SI=本地设备名的16字节存储区地址
ES:DI=网络名的128字节存储区地址,紧跟其后是密码
出口参数:CF=0——操作成功,否则,AX=错误号(01H、03H、05H、08H、0FH或12H),其含义见错误代码表

(13)、功能63H

功能描述:读取前导字节表
入口参数:AH=63H
AL=子功能
=00H—读取系统前导字节表地址
=01H—设置/清除临时控制台标志(DL=00H/01H—清除/设置标志)
=02H—读取临时控制台标志值
出口参数:BX=1——操作失败,AX=错误号(01H),其含义见错误代码表,否则,调用时,
若AL=00H,则,DS:SI=系统前导字节表地址;
若AL=02H,则,DL=临时控制台标志值

(14)、功能65H

功能描述:读取扩展的国家信息
入口参数:AH=65H
BX=代码页(-1=活跃的CON设备)
CX=接受信息的缓冲区大小
DX=国家标识(-1=缺省)
ES:DI=接受信息的缓冲区地址
AL=子功能
=01H——读取一般的国家信息
=02H——读取指向大写字母表的指针
=04H——读取指向文件名大写字母表的指针
=06H——读取指向校对表的指针
=07H——读取指向DBCS向量的指针
出口参数:CF=0——操作成功,需要的数据存入调用的缓冲区,否则,AX=错误号(02H),其含义见错误代码表

(15)、功能66H

功能描述:读取/设置代码页
入口参数:AH=66H
AL=子功能号:01H——读取代码页,02H——选择代码页
BX=选择的代码页(当AL=02H)
出口参数:CF=0——操作成功,当调用子功能01H时,BX=活跃的代码页,DX=缺省的代码页,否则,AX=错误号(02H或65H),其含义见错误代码表

(16)、功能5D0AH

功能描述:设置扩展的错误信息
入口参数:AX=5D0AH
DS:DX=扩展错误结构的地址,该结构的说明如下:
EXTEND_ERR STRUCT
RAx WORD ? ;AX
RBx WORD ? ;BX
RCx WORD ? ; CX
RDx WORD ? ; DX
RSi WORD ? ; SI
RDi WORD ? ; DI
RDs WORD ? ; DS
REs WORD ? ; ES
Pad WORD 3 DUP(0)
EXTEND_ERRENDS
出口参数:

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

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