发信人: dragegg() 
整理人: yangcs(1999-12-12 11:50:33), 站内信件
 | 
 
 
以下是我以前用PRINTER打出来的。(原来用WORD97打的)
 对于想引用(int 13)的人来说是足够了。
 格式是不大对头,但还可以看;真是要的来信问我拿WORD文档吧。
 表2-1是DOS系统调用,表2-2是BIOS系统调用
 
 表2-1                      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	结束程序预留	
 
 
 
 -- 天网恢恢,疏而不漏。
 欢迎你给我写信,但若想收信则只能请你耐心等候了。
 回复时请CLICK 一下“将本文章寄一份给原作者”后的方框,谢谢
  ※ 修改:.dragegg 于 Nov 21 01:37:28 修改本文.[FROM: 202.104.33.153] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.33.153]
  | 
 
 
 |