加载中…
个人资料
一步一步靠近你923
一步一步靠近你923
  • 博客等级:
  • 博客积分:0
  • 博客访问:179
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

汇编中INT 21的功能

(2014-06-05 17:40:03)
标签:

it

分类: 汇编笔记

INT     21H     功能调用一览表

编号        功能      入口参数      出口参数

         程序终止 CS=PSP段地址

        带回显的字符输入    AL=8位数据

2 字符输出 DL=8位数据

3 辅助设备输入     AL=8位数据

4 辅助设备输出 DL=8位数据

5 打印输出 DL=8位数据

6 直接控制台I/O DL=0FFH(输入请求) DL=0-OFEH(输出请求)

AL=8位数据

7 无回显过滤的字符输入     AL=8位数据

8 无回显的字符的输入     AL=8位数据

9 显示字符串 DS:DX=字符串

OAH 缓冲输入 DS:DX=缓冲区段:位移

OBH 取输入状态     AL=0(无字符)AL=1(有字符)

OCH 重置输入缓冲区后输入 AL=功能号(1/6/7/8/OAH) DS:DX=缓冲区(功能OAH)

AL=8位数据(功能1/6/7/8)

ODH 重启动磁盘

OEH 置缺省盘驱动器 DL=驱动器码(0=A,1=B) AL=总的驱动器数

OFH 打开文件 DS:DX=FCB AL=0:成功,-1:失败

10H 关闭文件 DS:DX=FCB AL=0:成功,-1:失败

11H 查找第一匹配目录 DS:DX=FCB AL=0:成功,-1:失败

12H 查找下一匹配目录 DS:DX=FCB AL=0:成功,-1:失败

13H 删除文件 DS:DX=FCB AL=0:成功,-1:失败

14H 顺序读 DS:DX=FCB AL=返回码

15H 顺序写 DS:DX=FCB AL=返回码

16H 创建文件 DS:DX=FCB AL=0:成功,-1:失败

17H 重命名文件 DS:DX=FCB AL=0:成功,-1:失败

18H 保留未用

19H 取缺省盘驱动器          AL=驱动器码(0=A)

1AH 设置DTA DS:DX=DTA

1BH 取缺省驱动器的分配信息            AL=每簇的扇区数CX=每扇区的字节数

DX=文件区所占簇数

DS:BX=介质描述字节

1CH 取指定驱动器的分配信息 DL=驱动器码(0=缺省…) 同上

1DH 保留未用

1EH 保留未用

1FH 取缺省驱动器的DPB              DS:BX=DPB

20F 保留未用

21F 随机读一个记录 DS:DX=FCB AL=返回码

22F 随机写一个记录 DS:DX=FCB AL=返回码

23F 取文件大小 DS:DX=未打开的FCB AL=0:成功,-1:失败

24F 设置随机记录号 DS:DX=FCB

25F

置中断向量 AL=中断号,DS:DX=入口

26F 创建程序段前缀 DX=新程序段的段地址

27H 随机读若干记录 CX=记录数 DS:DX=FCB

AL=返回码CX=实际记录数

28H 随机写若干记录

29H 分析文件名 AL=控制分析标志 DS:SI=正文串段:位移

ES:DI=FCB段:位移

AL=分析结果DS:SI=分析后的头一字符段的段:位移

2AH 取系统日期            CX=年,AL=星期DH=月,DL=日

2BH 置系统日期 CX=年,DH=月,DL=日 AL=0:成功,-1:失败

2CH 取系统时间            CH=时,CL=分DH=秒,DL=百分秒

2DH 置系统时间 CX=时和分,DX=秒,百分秒 AL=0:成功,-1:失败

2EH 置确认标志 AL=0:关闭,1:打开

2FH 取DTA          AL,AH=主,次版本

30H 取DOS版本号                AL=0:成功,-1失败

31H 结束并驻留 AL=返回码,DX=内存大小

32H 取指定驱动器的DPB DL=驱动器码(0=缺省…) DS:BX=DPB

33H 取或置Ctrl-Break标志 AL=0(取标志) AL=1(置标志),DL=标志

DL=标志状态(功能0)(0:关,1:开)

34H 取DOS中断标志          ES:BX=DOS中断标志

35H 取中断向量 AL=中断号 ES:BX=中断程序入口

36H 取磁盘的自由空间 DL=驱动器码(0=缺省…) 驱动器无效:AX=-1 有效:AX=每簇扇区数

BX=自由簇数

CX=每扇区字节数

DX=文件区所占簇数

37H 取或置命令行开关符, 取或置名字检查开关

AL=0(取开关符) AL=1(置开关符)

DL=(开关符)

AL=2(取检查开关)

AL=3(置检查开关)

DL=开关值

DL=开关符(功能0)

DL=检查开关(功能2)

 

38H 取国家信息 AL=0,DS:DX=缓冲区

39H 创建子目录 DS:DX=路径说明串 注1

3AH 删除子目录 DS:DX=路径说明串 注1

3BH 设置当前目录 DS:DX=路径说明串 注1

3CH 创建文件 DS:DX=文件说明,CX=属性 注2

3DH 打开文件 DS:DX=文件说明,AL=模式 注2

3EH 关闭文件 BX=文件号 注1

3FH 读文件或设备 BX=文件号 CX=字符数

CX:DX=缓冲区

成功:CF=0,DX:AX=新指针位置失败:CF=1,AX=错误码

40H 写文件或设备

41H 删除文件 DS:DX=文件说明串 注1

42H 移文件指针 AL=方式 BX=文件号

CX:DX=位移量

成功:CF=0,DX:AX=新指针位置失败:CF=1,AX=错误码

43H

取或置文件属性 AL=0(取属性) AL=1,CX=新属性(置属性)

DS:DX=文件说明

CX=属性(功能0)

44H 设备驱动控制 AL=0(取设备信息) AL=1(置设备信息)

AL=2(读设备控制通道)

AL=3(写设备控制通道)

AL=4(同功能2)

AL=5(同功能3)

AL=6(取输入状态)

AL=7(取输出状态)

BX=文件号(功能0-3,6-7)

BL=驱动器码(功能4-5)

CX=字节数(功能2-5)

DS:DX=缓冲区(功能2-5)

失败:CF=1,AX=错误码成功:

DX=设备信息(功能0)

AL=状态(功能6/7)

0:未准备,1:准备

AX=传送字节数(功能2-5)

45H 复制文件号 BX=文件号 成功:CF=0 AX=新文件号

失败:CF=1,AX=错误码

46H 强迫复制文件号 BX=第1文件号 CX=第2文件号

注1

47H 取当前目录 DL=驱动器码 DS:SI=缓冲区

注1

48H 分配内存 BX=所需内存的节数 成功:CF=0         AX=分配块的段

失败:CF=1,AX=错误码

BX=最大可用块大小

49H 释放内存 ES=释放块的段 注1

4AH 修改内存分配 ES=修改块的段 BX=新长度(以节计)

成功:CF=0 失败:CF=1,AX=错误码

BX=最大可用块大小

4BH 加载程序 执行程序

AL=0(加载并执行) AL=1(获得执行信息)

AL=3(加载覆盖)

DS:DX=程序说明

ES:BX=参数块

注1

4CH 带返回码结束 AL=返回码

4DH 取返回码    AH=类型码,AL=返回码

4EH 查找第一个匹配项 CX=属性,DS:DX=文件说明 注1

4FH 查找下一个匹配项           注1

50H 设置PSP段地址 BX=PSP段地址

51H 取PSP段地址             BX=PSP段地址

52H 取DOS系统数据块             ES:BX=DOS系统数据块

53H 为块设备建立DPB DS:SI=BPB,ES:BP=DPB

54H 取确认标志          AL=标志值(0:关,1:开)

55H 创建PSP DX=PSP

56H 重命名文件 DS:DX=旧名,ES:DI=新名 注1

57H 取或置文件日期和时间 AL=0,BX=文件号(取) AL=1,BX=文件号,

CX=时间,DX=日期(置)

成功:CF=0,CX=时间         DX=日期(取)

失败:CF=1,AX=错误码

58H 取/置分配策略码 AL=0取码      =1置码(BX)

BX=策略码

成功:AX=策略码失败:AX=错误码

59H 取扩充错误码             AX=扩充错误码BH=错误类型

BL=建议的操作

CH=错误场所

5AH 建立临时文件 CX=文件属性 DS:DX=ASCⅡZ串地址

成功:AX=文件代号失败:AX=错误码

5BH 建立新文件 CX=文件属性 DS:DX=ASCⅡZ串地址

成功:AX=文件代号失败:AX=错误码

5CH 控制文件存取 AL=00封锁      =01开启

BX=文件代号

CX:DX=文件位移

SI:DI=文件长度

失败:AX=错误码

62H 取程序段前缀地址              BX=PSP地址

注1:出口参数为:成功时,CF=0;失败时,CF=1,AX=错误码 注2:出口参数为:成功时,CF=0,AX=文件号;失败时,CF=1,AX=错误码

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有