为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DOS系统调用

2017-09-26 16页 doc 36KB 40阅读

用户头像

is_591137

暂无简介

举报
DOS系统调用DOS系统调用 AH 功 能 调 用 参 数 返 回 参 数 00 程序终止 (同INT 20H) CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通讯输入 AL=输入数据 04 异步通讯输出 DL=输出数据 05 打印机输出 DL输出字符 06 直接控制台I/O DL=FF(输入) DL=字符(输出) AL=输入字符 07 键盘输入(无回显) AL= 输入字符 08 键盘输入(无回显) 检测Ctrl-Break AL= 输入字符 09 显示字符串 D...
DOS系统调用
DOS系统调用 AH 功 能 调 用 参 数 返 回 参 数 00 程序终止 (同INT 20H) CS=程序段前缀 01 键盘输入并回显 AL=输入字符 02 显示输出 DL=输出字符 03 异步通讯输入 AL=输入数据 04 异步通讯输出 DL=输出数据 05 打印机输出 DL输出字符 06 直接控制台I/O DL=FF(输入) DL=字符(输出) AL=输入字符 07 键盘输入(无回显) AL= 输入字符 08 键盘输入(无回显) 检测Ctrl-Break AL= 输入字符 09 显示字符串 DS:DX=串地址 ','结束字符串 0A 键盘输入的缓冲区 DS:DX=缓冲区首地址 (DS:DX)=缓冲区最大字符数 (DS:DX+1)=实际输入的字符数 0B 检验健盘状态 AL=00有输入 AL=FF无输入 0C 清除输入缓冲区并请求指定的输入功能 AL=输入功能号(1,6,7,8,A) 0D 磁盘复位 清除文件缓冲区 0E 指定当前缺省的磁盘驱动器 DL=驱动器号0=A,1=B,…… AL=驱动器数 0F 打开文件 DS : DX=FCB首地址 AL=00文件找到 AL=FF文件未找到 10 关闭文件 DS : DX=FCB首地址 AL=00目录修改成功 AL=FF目录中未找到文件 11 查找第一个目录项 DS : DX=FCB首地址 AL=00找到 AL=FF未找到 12 查找下一个目录 DS : DX=FCB首地址 (文件名中带*或?) AL=00找到 AL=FF未找到 13 删除文件 DS : DX=FCB首地址 AL=00删除成功 AL=FF未找到 14 顺序读 DS : DX=FCB首地址 AL=00读成功 =01文件结束,中无数据 =02DTA空间不够 =03文件结束,记录不完整 15 顺序写 DS : DX=FCB首地址 AL=00写成功 =01盘满 =02DTA空间不够 16 建文件 DS : DX=FCB首地址 AL=00建立成功 =FF无磁盘空间 17 文件改名 DS : DX=FCB首地址 (DS : DX+1)=旧文件名 (DS : DX+17)=新文件名 AL=00成功 =FF未成功 19 取当前缺省磁盘驱动器 AL=缺省的驱动器号0=A,1=B,2=C,… 1A 置DTA地址 DS:DX=DTA地址 1B 取决省驱器 FAT信息 AL=每簇的扇区数 DS:SX=FTA标识字节 CX=物理扇区的大小 DX=缺省驱动器的簇数 1C 取任一驱动器 FAT信息 DL=驱动器号 同上 21 随机读 DS:DX=FCB首地址 AL=00读数成功 =01文件结束 =02缓冲区溢出 =03缓冲区不满 22 随机写 DS:DX=FCB首地址 AL=00写成功 =01盘满 =02缓冲区溢出 23 测定文件大小 DS:DX=FCB首地址 AL=00成功 文件长度填入FCB AL=FF未找到 24 设置随机记录号 DS:DX=FCB首地址 25 设置中断向量 DS:DX=中断向量 AL=中断类型号 26 建立程序段前级 DX=新的程序段的前级 27 随机分块读 DS:DX=FCB首地址 CX=记录数 AL=00读成功 =01文件结束 =02缓冲区太小,传输结束 =03缓冲区不满面CX=读取的记录数 28 随机分块写 DS:DX=FCB首地址 CX=记录数 CX=读取的记录数 AL=00写成功 AL=01盘满 =02缓冲区溢出 29 分析文件名 ES:DI=FCB首地址 DS:SI=ASCHZ串 AL=控制分析标志 AL=00文件 =01多义文件 =FF非法盘符 2A 取日期 CX=年 DH:DL=月:日(二进制) 2B 设置日期 CX:DH:DL=年:月:日 AL=00成功 =FF无效 2C 取时间 CH:CL=时:分 DH:DL=秒:1/100秒 2D 设置时间 CH:CL=时:分 DH:DL=秒:1/100秒 AL=00成功 AL=FF无效 2E 置磁盘自动 读写标志 AL=00关闭标志 AL=01打开标志 2F 取磁盘缓冲区的首址 ES:BX=缓冲区首址 30 取DOS版本号 AH=发行号,AL=版号 31 结束并驻留 AL=返回码 DX=驻留区大小 33 Dtrl-Break检测 AL=00取状态 LA=01置状态(DL) DL=00关闭检测 =01打末检测 DL=00关闭Ctrl-Break检测 =01打开Ctrl-Break检测 35 取中断向量 AL=中断类型 ES:BX=中断向量 36 取空闲磁盘空间 DL=驱动器号 0=缺省,1=A,2=B… 成功:AX=每簇扇区数 BX=有效簇数 CX=每扇区字节数 DX=总簇数 失数:AX=FFFF 38 置/取国家信息 DS:DX=信息区首地址 BX=国家码(国标电话前级码)AX=错误 码 39 建立子目录(MKDIR) DS:DX=ASCIIZ串地址 AX=错误码 3A 删除子目录(RMDIR) DS:DX=ASCIIZ串地址 AX=错误码 3B 改变当前目录(CHDIR) DS:DX=ASCIIZ串地址 AX=错误码 3C 建立文件 DS:DX=ASCIIZ串地址 CX=文件属性 成功AX=文件代号 失败:AX=错误码 3D 打开文件 DS:DX=ASCIIZ串地址 AL=0读 =1写 =2读/写 成功AX=文件代号 失败:AX=错误码 3E 关闭文件 BX=文件号 失败:AX=错误码 3F 读文件或设备 DS:DX数据缓冲区地址 BX=文件代号 CX=读取的字节数 读成功: AX=实际读入的字节数 AX=0已到文件尾 读出错:AX=错误码 40 写文件或设备 DS:DX=数据缓冲区地址 BX=文件代号 CX=写入的字节数 写成功: AX=实际读入的字节数 写出错:AX=错误码 41 删除文件 DS:DX=ASCIIZ串地址 成功:AX=00 出错:AX=错误码(2,5) 42 移动文件指针 BX=文件代号 CX:DX=位移量 AL=移动方式(0,1,2) 成功DX:AX=新指针位置 出错:AX=错误码 43 置/取文件属性 DS:DX=ASCIIZ串地址 AL=0取文件属性 AL=1置文件属性 CX=文件属性 成功:CX=文件属性 失败:AX=错误码 44 设备文件I/O控制 BX=文件代号 AL=0取状态 =1置状态DX =2读数据 =3写数据 =6取输入状态 =7取输出状态 DX=设备信息 45 复制文件代号 BX=文件代号1 成功:AX=文件代号2 失败:AX=错误码 46 人工复制文件代号 BX=文件代号1 CX=文件代号2 失败:AX=错误码 47 取当前目录路径名 DL=驱动器号 DS:SI=ASCIIZ串地址 (DS:SI)=ASCIIZ串 失败:AX=错误码 48 分配内存空间 BX=申请内存容量 成功:AX=分配内存首址 失败:AX=最大可用空间 49 释放内存空间 ES=内存起始段地址 失败:AX=错误码 4A 调整已分配的存储块 ES=原内存起始地址 BX=再申请的容量 失败:BX=最大可用空间 AX=错误码 4B 装配/执行程序 DS:DX=ASCIIZ串地址 ES:BX=参数区首地址 AL=0装入执行 AL=3装入不执行 失败:AX=错误码 4C 带返回码结束 AL=返回码 4D 取返回代码 AX=返回代码 4E 查找第一个匹配文件 DS:DX、ASCIIZ串地址 CX=属性 AX=出错代码(02,18) 4F 查找下一个匹配文件 DS:DX=ASCIIZ串地址 (文件名中带,或*) AX=出错代码(18) 54 取盘自动读写标志 AL=当前标志值 56 文件改名 DS:DX=ASCIIZ串(旧) ES:DI=ASCIIZ串(新) AX=出错码(03,05,17) 57 置/取文件日期和时间 BX=文件代号 AL=0读取 AL=1设置(DX:CX) DX:CX=日期和时间 失败:AX=错误码 58 取/置分配策略码 AL=0取码 =1置码(BX) BX=策略码 成功:AX=策略码 失败:AX=错误码 59 取扩充错误码 AX=扩充错误码 BH=错误娄型 BL=建议的操作 CH=错误码 5A 建立临时文件 CX=文件属性 DS:DX=ASCIIZ串地址 成功:AX=文件代号 失败:AX=错误码 5B 建立新文件 CX=文件属性 DS:DX=ASCIIZ串地址 成功:AX=文件代号 失败:AX=错误码 5C 控制文件存取 AL=00封锁 =01开启 BX=文件代号 CX:DX=文件位移 SI:DI=文件长度 失败:AX=错误码 62 取程序段前缀地址 BX=PSP地址 *AH=0-2E适用DOS1.0以上版本; AH=2F-57适用DOS2.0以上版本; AH=58-62适用DOS3.0以上版本; ---------------------------------------------------------------------------------------------------- --------------------------------- BIOS中断 INT AH 功 能 调 用 参 数 返 回 参 数 10 0 设置显示方式 AL=00 40×25黑白方式 =01 40×25彩色方式 =02 80×25黑白方式 =03 80×25彩色方式 =04 320×200彩色图形方式 =05 320×200黑白图形方式 =06 640×200黑白图形方式 =07 80×25单色文本方式 =08 160×200 16色图形(PCjr) =09 320×200 16色图形(PCjr) =0A 640×200 16色图形(PCjr) =0B保留(EGA) =0C保留(EGA) =0D320×200 彩色图形(EGA) =0E 640×200 彩色图形(EGA) =0F640×350 黑白图形(EGA) =10 640×350 彩色图形(EGA) =11 640×480 单色图形(EGA) =12 640×480 16色图形(EGA) =13 320×200 256色图形(EGA) =40 80×30彩色文本(CGE400) =41 80×50彩色文本(CGE400) =42 640×400彩色文本(CGE400) 10 1 置光标类型 (CH)0-3=光标起始行 (CL)0-3=光标结束行 10 2 置光标位置 BH=页号 DH,DL=行,列 10 3 读光笔位置 BH=页号 CH=光标起始行 DH,DL=行,列 10 4 读光笔位置 AH=0光笔未触发 =1光笔触发 CH=像素行 BX=像素列 DH=字符行 DL=字符列 10 5 置显示页 AL=页号 10 6 屏幕初始化或上卷 AL=上卷行数 AL=0整个窗口空白 BH=卷入行属性 CH=左上角行号 CL=左上角列号 CH=右下角行号 DL右下角列号 10 7 屏幕初始化或下卷 AL=下卷行数 AL=0整个窗口空白 BH=卷入行属性 CH=左上角行号 CL=左上角列号 DH=右下角行号 DL=右下角列号 10 8 读光标位置的字符和属性 BH=显示页 AH=属性 AL=字符 10 9 在光标位置显示字符及其属性 BH=显示页 AL=字符 BL=属性 CX=字符重复次数 10 A 在光标位置显示字符 BH=显示页 AL=字符 CX=字符重复次数 10 B 置彩色调板 BH=彩色调板ID (320×200图形) BL=和ID配套使用的颜色 10 C 写像素 DX=行(0-199) CX=列(0-639) AL=像素值 10 D 读像素 DX=行(0-199) AL=像素值 CX=列(0-639) 10 E 显示字符(光标前移) AL=字符 BL=前景色 10 F 取当前显示方式 AH=字符列数 AL=显示方式 10 13 显示字符串(适用AT) ES:BP=串地址 CX=串长度 DH,DL=起始行,列 BH=页号 AL=0,BL=属性 串:char,char,… 光标返回起始位置 AL=1,BL=属性 光标跟随移动 串:char,char,… AL=2 光标返回起始位置 串:char,char,… AL=3 光标跟随移动 串:char,char,… ------------------------------------------------------------------------------ 11 设备检验 AX=返回值 bit0=1,配有磁盘 Bit1=1,80287协处理器 Bit4,5=01,40×25BW(彩色板) =10,80×25BW(彩色板) =11,80×25BW(黑白板) Bit6,7=软盘驱动器号 Bit9,10,11=RS-232板号 Bit12=游戏适配器 Bit13=串行打印机 Bit14,15=打印机号 ------------------------------------------------------------------------------------------------ ---- 12 测定存储容量 AX=字节数(KB) ------------------------------------------------------------------------------------------------ ---- 13 0 软盘系统复位 13 1 读软盘状态 AL=状态字节 13 2 读磁盘 AL=扇区数 读成功:AH=0 CH,CL=磁道号,扇区号 AL=读取的扇区数 DH,DL=磁头号,驱动器号 读失败: ES:BX=数据缓冲区地址 AH=出错代码 13 3 写磁盘 ES:BX=数据缓冲区地址 写成功,AH=0 AL=写入的扇区数 写失败:AH=出错代码 13 4 检验磁盘扇区 ES:BX=数据缓冲区地址(ES:BX不设置) 成功:AH=0 AL=检验的扇区数 失败:AH=出错代码 13 5 化盘磁道 ES:BX=磁道地址 成功:AH=0 失败:AH=出错代码 ------------------------------------------------------------------------------------------------ ---- 14 0 初始化串行通讯口 AL=初始化参数 AH=通讯口状态 DX=通讯口号(0,1) AL=调制解调器状态 14 1 向串行通讯口写字符 AL=字符 写成功:(AH)7=0 DX=通讯口号(0,1) 写失败:(AH)7=1 (AH)0-6=通讯口状态 14 2 从串行通讯口读字符 DX=通讯口号(0,1) 读成功:(AH)7=0 (AL)=字符 读失败:(AH)7=1 (AH)0-6=通讯口状态 14 3 取通讯口状态 DX=通讯口号(0,1) AH=通讯口状态 AL=调制解调器状态 ------------------------------------------------------------------------------------------------ ---- 15 0 启动盒式磁带马达 15 1 停止盒式磁带马达 15 2 磁带分块读 ES:BX=数据传输区地址 AH=状态字节 CX=字节数 AH=00读成功 =01冗余检验错 =02无数据传输 =04无引导 =80非法命令 15 3 磁带分块写 DS:BX=数据传输区地址 AH=状态字节 CX=字节数 AH=状态字节 ------------------------------------------------------------------------------------------------ ---- 16 0 从键盘读字符 AL=字符码 AH=扫描码 16 1 读键盘缓冲区字符 ZF=0 AL=字符码 AH=扫描码 ZF=1缓冲区空 16 2 取键盘状态字节 AL=键盘状态字节 ------------------------------------------------------------------------------------------------ ---- 17 0 打印字符,回送状态字节 AL=字符 AH=打印机状态字节 DX=打印机号 17 1 初始化打印机回送状态字节 DX=打印机号 AH=打印机状态字节 17 2 取状态字节 DX=打印机号 AH=打印机状态字节 ------------------------------------------------------------------------------------------------ ---- 1A 0 读时钟 CH:CL=时:分 DH:DL=秒:1/100秒 1A 1 置时钟 CH:CL=时:分 DH:DL=秒:1/100秒 1A 2 读实时钟(适用AT) CH:CL=时:分(BCD) DH:DL=秒:1/100秒(BCD) 1A 6 置报警时间(适用AT) CH:CL=时:分(BCD) DH:DL=秒:1/100秒(BCD) 1A 7 清除报警(适用AT) ---------------------------------------------------------------------------------------------------- 中断向量 中断号 中断名中断入口 0 除以0 1 单步执行 2 不可屏蔽中断NMI-INT(F000:E2C3) 3 断点 4 溢出 5 打印屏幕PRINT-SCREEN(F000:FF54) 6 备用 7 备用 8 时间TIMEB-INT(F000:FEA5) 9 键盘KB-INT(F000:E987) 10 备用 11 备用 12 备用 13 备用 14 磁盘DISK-INT(F000:EF57) 15 备用(打印机) 16 显示器VIDEO-IO(F000:065) 17 设备配置测试 EQUIPMENT(F000:F84D) 18 存储器 MEMORY-SIZE-DETERMINE(F000:FC41) 19 磁盘DISKETTE-IO(F000:EC59) 20 通讯端口RS232-IO(F000:E739) 21 磁带CASETTE-IO(F000:F859) 22 键盘KEYBOARD-IO(F000:E82E) 23 打印机 PRINTER-IO(F000:EF02) 24 磁带BASIC (F000:0000) 25 引导BOOT-STBAP(F000:E6F2) 26 时间TIME-OF-DAY(E000:FE6E) 27 键盘中断BUMMY-BETURN(F000:FF53) 28 时钟中断BUMMY-BETURN(F000:FF53) 29 显示器初始化VIDEO-PABMS(F000:F0A4) 30 磁盘参数 DISK-BASE(F000:EFC7) 31 显示图形符号 32 程序结束00BF:0011 33 功能调用请求00BF:0015 34 结束地址 35 中断退出 36 标准出错处理 37 绝对磁盘读0060:0406 38 绝对磁盘写0060:0401 39 结束程序预留
/
本文档为【DOS系统调用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索