DOS系统功能调用

合集下载

第9章 bios和dos功能调用

第9章 bios和dos功能调用

MOV AH, 01 ;调用第21h ;设置功能号:键盘输入 mov ah,4ch 号中断例程的 4ch号子程序 mov al,0 ;提供返回值作为参数 INT 21H ;DOS功能调用 int 21h MOV CHAR, AL ;返回参数: (AL)=字符ASCII码
;-----------------显示输出一个字符
Your site here
DOS键盘中断 0AH功能号
例: 输入字符串到缓冲区STRING
DATA SEGMENT MAXLEN DB 32
MAXLEN DB
MAXLEN DB
32 ,0, 32 DUP(?)
32 ,33 DUP(?)
ACTLEN
STRING CODE DATA ENDS
DB ?
MOV DL, ’A’ MOV AH, 02 INT 21H
;调用参数:
待输出字符的ASCII码
; DOS功能号: 显示输出 ; DOS调用
Your site here
与子程序调用的比较
主程序 ……
CALL SUBP 子程序
……
…… RET
实现机制不同
……
源程序 …… DOS/BIOS调用 INT n ……
1.设置显示方式
入口参数 AL = 显示方式值 00 40×25 黑白文本方式 01 40×25 彩色文本方式 02 80×25 黑白文本方式 03 80×25 彩色文本方式 04 320×320 彩色图形方式 AH = 00H 10H 无 将显示方式设置为指定的形式
功能号 类型号 出口参数 实现功能
Your site here
中断传送方式
中断:使cpu中止正在执行的程序而转去处理特殊事件的操作。 中断源: 引起中断的事件。 8086/8088CPU最多有 256个中断源

第九讲_DOS功能调用

第九讲_DOS功能调用

中断向量分配表
类型号 00H 01H 02H 03H 04H 05H 06-07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 中断功能名称 除零错误 单步执行 非屏蔽中断 断点设置 溢出错误 屏幕打印 保留 定时器中断 键盘中断 保留 串行通信中断 保留 硬盘中断 软盘中断 打印机中断 BIOS BIOS BIOS BIOS BIOS BIOS BIOS BIOS 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 可屏蔽硬中断 模 块 BIOS BIOS BIOS BIOS BIOS BIOS 中 断 源 CPU 内部操作 DEBUG 程序 非屏蔽硬中断 DEBUG 程序 CPU 内部操作 INT 指令
2. 中断类型分类 向量表中的中断类型分为七类: ① 处理CPU特殊操作( 除0、溢出 )的00H、04H类型。 ② 为DEBUG调试程序设置的单步( 01H )、断点( 03H )类型。 ③ 处理CPU的NMI引脚信号的02H类型。 非屏蔽硬中断子程 NMI 8088
④ 处理CPU的INTR引脚信号的08~0FH类型。 可屏蔽类型硬中断子程 ⑤ 用INT指令调用的中断子程 BIOS功能调用(如10~1AH) DOS功能调用 (如 21H)
在AH设置功能号m 执行中断指令INT N
分析、应用出口参数
例1
单字符显示功能调用 MOV DL, ‘A’ INT 21H ;设置入口参数 ;执行中断调用 MOV AH, 02H ;设置功能号
例2
单字符输入功能调用
MOV AH, 01H ;设置功能号 INT JZ 、、、 21H exit ;执行中断调用
ROM BIOS 基本I/O 向 MSDOS.SYS提供设备驱动服务。 系 统 硬

DOS系统功能调用介绍

DOS系统功能调用介绍

DOS系统功能调用介绍系统功能调用——由DOS提供的一组实现特殊功能的子程序供程序员在程序中调用,以减轻编程工作量。

系统功能调用有两种,一种称为DOS功能调用,另一种称为BIOS功能调用。

用户程序在调用这些系统服务程序时,不是用CALL命令,而是采用软中断指令INT n来实现。

在DOS系统中,功能调用都是用软中断指令INT 21H来实现的。

I N T2l H功能大致可以分为四个方面:设备管理、目录管理、文件管理和其它。

D0S系统功能调用的使用方法如下:①A H←功能号;②设置该功能所要求的其他入口参数;③执行I N T21H指令;④分析出口参数。

以下介绍I N T21H的几个最常用的功能。

关于数据输入和输出我们这里只讨论键盘输入和显示输出,调用系统功能需要提供入口参数及所调用的功能号,调用结束返回结果。

DOS键盘功能调用(1) 从键盘输入一个字符(功能号=1)MOV AH,1INT 21H<AL中有键入的字符>例:程序中有时需要用户对提示做出应答。

GET_KEY: MOV AH,1 ;等待键入字符INT 21H ;结果在AL中CMP AL,’Y’ ;是’Y’?JZ YES ;是,转YESCMP AL,’N’ ;是’N’?JZ NO ;是,转NOJMP GET_KEY ;否则继续等待输入YES: ……NO: …(2) 输入字符串(功能号=0AH)此功能调用从键盘输入一串字符并把它存入用户指定的缓冲区中。

MOV AH, 0AHLEA DX, <字符串缓冲区首地址>INT 21H用户定义的输入字符串的缓冲区格式N1: 缓冲区长度(最大键入字符数)N2: 实际键入的字符数(不包括回车符)若用户键入的字符数(包括回车)≥定义的N1,本功能调用将不再接收新的键入,且光标不再向右移动。

例:设在数据段定义键盘缓冲区如下:STR1 DB 10,?,10 DUP(?)调用DOS功能的0AH号功能的程序段为:LEA DX,STR1MOV AH,0AHINT 21H此程序段最多从键盘接收10个按键(包括回车)。

DOS功能调用

DOS功能调用

缓冲区第一个字节是可输入的最大字符数+1;第二个 字节是系统在调用该功能时,自动填入的本次调用时实际输 入的字符个数;从第三个字节开始存放输入字符的ASCII码。
当用户输入回车键时,结束输入,并将回车键的ASCII 码(0DH)作为最后一个字符送入缓冲区。但它不计入实际 输入字符个数。 调用入口参量: DS:DX寄存器指向输入缓冲区的段基值:偏移量 CHAR_BUF DB 31H ;缓冲区的最大长度 DB 0 ;存实际输入字符数 DB 31H DUP(0);输入缓冲区 ...... MOV DX,SEG CHAR_BUF;如果DS已经指向CHAR_BUF所在 MOV DS,DX ;数据段,则可以省去这两条指令 MOV DX,OFFSET CHAR_BUF MOV AH,0AH INT 21H
10、设置系统日期(2BH号功能) 该功能用来改变计算机CMOS中的系统日期。入口参数: CX<=年号(1980—2099) DH<= 月号(1—12) DL<= 日(1—31) 返回参数在AL中,成功设置,则返回(AL)=0,否则(AL)=0FFH 例如: MOV CX,2008 MOV DH,4 MOV DL,15 MOV AH,2BH INT 21H CMP AL,0 JNE ERROR ;转出错处)
执行该功能将获得系统的当前时间。返回的时 间参数存放在指定的寄存器中:
CH:小时(0—23) CL:分(0—59) DH:秒(0—59) DL:百分秒(0—99) 例如: HOUR DB ? MINUTES DB ? SECOND DB ? ...... MOV AH,2CH INT 21H MOV HOUR,CH MOV MINUTES,CL MOV SECOND,DH
1、带显示的键盘输入(1号功能) 调用该功能子程序将等待键盘输入,直到按下一个键。将 字符的ASCII码送入AL寄存器,并在屏幕上显示该字符。如果 是Ctrl-C组合键,则停止程序运行。如果是TAB键,屏幕上光 标自动扩展到紧接着的8个字符位置后面,该功能调用无入口 参量。 MOV AH,01H INT 21H

DOS的功能调用

DOS的功能调用

5、4CH号系统功能调用——返回操作系统
功能:结束当前正在执行的程序,并返回操作系统,屏幕显 示操作系统提示符(C:\>,C为当前使用的驱动器名)。 入口参数:无 出口参数:无
功能:向输出设备输出一个字符。 入口参数:DL=输出字符的ASCII码。 出口参数:无
例:MOV DL,′A′; “A”为要求输出字符的ASCII码 MOV AH,2 INT 21H
3、6号系统功能调用——直接控制台输入输出
功能:从键盘输入一个字符,或输出一个字符到屏幕。
入口参数:如果DL=0FFH,表示是从键盘输入字符; 否则表示输出,DL=输出字符的代码。 出口参数:输入时,ZF=0表有键按下,AL=字符的ASCII码; ZF=1时,表示无键按下。 输出时,无出口参数。
dos系统功能调用表dos系统功能调用dos功能调用ie功能调用拦截js调用手机分享功能java调用dos命令java调用dosmsdos功能无效函数的调用java调用dll
DOS的功能调用
一、DOS功能调用概述 1、概念
DOS功能调用:编了号的可由程序员调用的子程序。 注:DOS所有的功能调用都是利用INT 21H中断指令实现的, 每个功能调用对应一个子程序,并有一个编号,称功能号。 2、系统功能调用的方法 1)将入口参数传送到指定寄存器中; 2)子程序功能号送入AH寄存器中; 3)发软中断指令“INT 21H”。
例、在屏幕上显示字符串:“How are you”。
DATA SEGMENT BUF DB ‘How are you $’ ;定义缓冲区字符串 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START

DOS功能大全

DOS功能大全

DOS中断:1、字符功能调用类(Character-Oriented Function)01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH —键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能(1)、功能01H、07H和08H功能描述:从标准输入设备(如:键盘)读入一个字符。

该中断在处理过程中将一直处于等待状态直到有字符可读为止。

该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾入口参数:AH=01H,过滤掉控制字符,并回显=07H,不过滤掉控制字符,不回显=08H,过滤掉控制字符,不回显出口参数:AL=输入字符的ASCII码(2)、功能02H功能描述:向标准输出设备(如:屏幕)输出一个字符。

该输出还可被重定向,如果这样做,则将无法判断磁盘是否满入口参数:AH=02HDL=待输出字符的ASCII码出口参数:无(3)、功能03H功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1入口参数:AH=03H出口参数:AL=读入字符的ASCII码(4)、功能04H功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1入口参数:AH=04HDL=待输出字符的ASCII码出口参数:无(5)、功能05H功能描述:向标准的输出设备输出一个字符。

该缺省的输出设备为LPT1端口的打印机,除非用MODE命令来改变入口参数:AH=05HDL=待输出字符的ASCII码出口参数:无(6)、功能06H功能描述:控制台(如:键盘、屏幕)输入/输出。

如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满入口参数:AH=06H,DL=输入/输出功能选择出口参数:若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;若DL=0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII码(7)、功能09H功能描述:输出一个字符串到标准输出设备上。

DOS功能调用表

DOS功能调用表
CX=属性1-只读2-隐蔽
4-系统
CF=0成功,AX=文件号
CF=1失败,AX=错误码
3DH
打开文件
DS:DX=带路径的文件名
AL=方式0-读1-写2-读

CF=0成功,AX=文件号
CF=1失败,AX=错误码
3EH
关闭文件
BX=文件号
CF=0成功
CF=1失败,AX=错误码
3FH
读文件或设备
BX=文件号
DS:DX=新的PSP段地址
27H
随机读若干记录
DS:DX=打开的FCB首址
CX=要读入的记录数
AL=00成功,01文件结束
AL=02缓冲区太小
AL=03缓冲区不满
CX=读入的块数
28H
随机写若干记录
DS:DX=打开的FCB首址
CX=要写入的记录数
AL=00成功,01盘满
AL=02缓冲区太小
AL=03缓冲区不满
CX=已写的块数
29H
分析文件名
AL=分析控制标记
DS:SI=要分析的字符串
ES:DI=未打开的FCB首址
AL=00未通配符
01有通配符
0FFH驱动器字母无效
ES:DI=未打开的FCB
2AH
取系统日期
CX=年(1980-2099)
DH=月,DL=日,AL=星期
(0=星期日)
2BH
置系统日期
CX=年,DH=月,DL=日
的文件号)
BX=文件号
CF=0成功,AX=新文件号
CF=1失败,AX=错误码
46H
强行复制文件号
BX=现存的文件号,CX=第2
文件号
CF=0成功,1失败

系统功能调用

系统功能调用

系统功能调用——由DOS提供的一组实现特殊功能的子程序供程序员在编写自己的程序时调用,以减轻编程的工作量。

分两种,DOS系统功能调用和BIOS终端调用。

汇编语言中DOS系统功能调用有很多,涉及屏幕显示、文件管理、I/O管理等等,每个子程序都有一个功能号,所有的功能调用的格式都是一致的。

调用的步骤大致如下:(1)系统功能号送到寄存器AH中;(2)入口参数送到指定的寄存器中;(3)用INT 21H指令执行功能调用;(4)根据出口参数分析功能调用执行情况。

下面归纳5个在汇编中常用的INT 21H系统功能调用。

AH功能入口参数出口参数4CH返回DOS无无1键盘输入一个字符到AL中无AL=字符2输出DL寄存器的字符到显示器DL(存放一个字符)无DS:字符串所在的段地址无9输出一个以“$”结尾的字符串到显示器DX:字符串首地址DS:缓冲区所在的段地址缓冲区相应位置0AH从键盘输入一个字符串到指定缓冲区DX:缓冲区首地址下面分别详细分析5种功能调用:1、带返回码的结束(AH=4CH)功能:返回DOS入口参数:无调用方法MOV AH,4CHINT 21H通过4CH功能调用能够结束当前正在执行的程序,返回DOS系统,一般用于汇编程序的结束位置。

2、键盘输入一个字符(AH=1)功能:从键盘输入一个字符到AL中,AL中为该字符的ASCII码。

入口参数:无调用方法MOV AH,1INT 21H执行完上面的系统调用后,出现提示输入光标,从键盘输入一个字符并保存其ASIIC码到AL寄存器中。

<例子>:交互式程序中用户按下数字键1,2,3,程序转入相应的服务子程序,若按下其他键则会继续等待。

代码:[plain]view plaincopyprint?1KEY: MOV AH,12 INT 21H ;系统等待输入一个字符3 CMP AL,'1'4 JE ONE ;如果输入字符为1则跳到标识符ONE处执行5 CMP AL,'2'6 JE TWO ;如上解析7 CMP AL,'3'8 JE THREE9 JMP KEY ;如果不是1、2、3则继续输入字符10ONE: ......11TWO: ......12THREE: ......3、输出显示一个字符(AH=2)功能:输出DL寄存器中的字符到显示器。

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤调用DOS(磁盘操作系统)功能和BIOS(基本输入/输出系统)功能是在计算机系统中执行低级别任务的基本步骤。

下面将详细介绍这两个过程的基本步骤和关键点。

调用DOS功能的基本步骤如下:1.获取DOS功能的入口点:DOS是一种基于磁盘的操作系统,其提供了一系列的系统调用接口,可以通过中断向量来获取DOS的入口点地址。

2.设置传递参数:在调用DOS功能之前,需要将参数传递给DOS。

可以通过设置特定的寄存器来传递参数,例如AH寄存器用于指定DOS功能的编号,其他寄存器则用于传递更具体的参数。

3. 调用DOS功能:在参数设置完成后,可以通过软中断(int 21h)来调用DOS功能。

软中断是一种由软件主动触发的中断,通过将特定的中断号(21h)放入中断向量表中的对应位置,即可触发DOS的相应功能。

4.处理返回结果:在完成DOS功能调用后,需要根据DOS的返回结果进行适当的处理。

返回结果可以通过寄存器的值进行判断,例如AL寄存器用于返回DOS功能的执行状态。

5.释放和恢复资源:在使用完DOS功能后,应当及时释放和恢复占用的资源,以保证系统的正常运行。

例如,对于打开的文件或设备,应当及时关闭和释放。

调用BIOS功能的基本步骤如下:1.获取BIOS功能的入口点:BIOS是一种固化在计算机主板中的低级别系统软件,其提供了一系列的硬件访问接口。

可以通过读取中断向量表来获取BIOS功能的入口点地址。

2.设置传递参数:与调用DOS功能类似,调用BIOS功能也需要将参数传递给BIOS。

可以通过特定的寄存器来传递参数,例如AH寄存器用于指定BIOS功能的编号,其他寄存器用于传递更具体的参数。

3. 调用BIOS功能:在参数设置完成后,可以通过软中断(int 10h,int 13h等)来调用BIOS功能。

不同的BIOS功能对应不同的中断号,通过将特定的中断号放入中断向量表中的对应位置,即可触发BIOS的相应功能。

DOS系统功能调用

DOS系统功能调用

等待从键盘输入字符串,并存入设定的缓冲区内,同时回 显字符串,光标随着移动,回车符使光标回到行首。调用 方法如下: MOV INT AH,0AH 21H
缓冲区第一个字节存放它能保存的最大字符数(1~255,不能为‘0’!),该 值由用户程序自己事先设置。如果键如的字符数比此数大,那就会发出“嘟嘟” 声,而且光标不再向右移动。
DOS功能子程序的调用(续)
则输入串的指令如下: MOV AX,SEG MOV DS,AX MOV DX,OFFSET MOV AH,0AH INT 21H MAX_LEN MAX_LEN
4.字符显示(2号功能) 本功能子程序仅在屏幕上显示单个字符。要显示字符的ASCII码存 放在DL中。如果DL中存放退格键编码,在屏幕上便向左移一个字 符位置,并使该位置成为空格。移动后光标停留在那里。如要显 示字符‘A’,可用下列几条指令调用: MOV MOV INT DL,‘A’ AH,2 21H
DOS功能子程序的调用(续)
5.字符打印(5号功能) 5号功能子程序把DL中的字符(ASCII码)送入打印机接口,打印输出。 功能调用为: MOV MOV DL,‘A’ AH,5
INT
21H
6.字符串显示(9号功能) 9号功能子程序能在屏幕上显示多于一个的字符串。要显示的字符 串必须先放在内存一数据区中,且字符串以美元符号‘$’作为结束 标志。非显示字符,可以用它的ASCII码插入字符串中间。进行9号功 能调用时,先把待显示的字符串首地址的段基值和偏移量分别存入DS 和DX中。 在数据段中定义一个待显示符号串如: STRING DB “THIS IS A PROGRAM”,0AH,0DH,“$”
INT
MOV INT …… IRET
21H

DOS功能调用大全

DOS功能调用大全

一、21H号中断类型(INT 21H)的各功能详解。

00H号功能——程序终止入口参数:AH=0;功能号CS已指定返回值:无。

01H号功能——键盘输入并回显。

[检测break(Ctrl+C)]入口参数:AH=01H;功能号返回值:AL=输入的字符。

02H号功能——显示输出。

[检测break(Ctrl+C)]入口参数:AH=02H;功能号DL=要显示的字符返回:光标移动。

03H号功能——异步通讯输入。

入口参数:AH=03H;功能号返回值:AL=输入的数值04H号功能——异步通讯输出。

入口参数:AH=04H;功能号DL=要输出的数值返回值:无05H号功能——打印机输出。

[自动检测打印机]入口参数:AH=05H;功能号DL=要输出的数值返回值:无06H号功能——直接控制台I/O(输入/输出)。

[[不检测break(Ctrl+C)]] 入口参数1:AH=06H;功能号DL=要输出的字符(DL<0FFH)功能1:输出返回1:光标移动入口参数2:AH=06H ;功能号DL=0FFH功能2:输入返回2:AL=输入的字符07H号功能——键盘输入但不回显。

入口参数:AH=07H;功能号返回值:AL=输入的字符。

08H号功能——键盘输入但不回显。

[检测break(Ctrl+C)]入口参数:AH=08H;功能号返回值:AL=输入的字符。

说明:如果返回AL=0,则是扩展ASC码,要再次调用才能取得扩展ASC码。

例:mov ah,8int 21hcmp al,0jnz ----- 是ASC码,去处理ASC码。

mov ah,8int 21h ;这次AL返回扩展ASC码。

09H号功能——显示字符串。

入口参数:AH=09H;功能号DS:DX=串地址。

串必须以'$'字符结尾。

返回:光标移动。

0AH号功能——键盘输入字串到缓冲区。

入口参数:AH=0AH;功能号DS:DX=缓冲区地址。

缓冲区首字节=缓冲区字节数。

单片机-BIOS、DOS系统功能调用

单片机-BIOS、DOS系统功能调用

目录一、课程设计目的二、任务介绍及小组成员任务分配三、设计思想及主要流程图四、主要程序清单五、运行结果及分析六、收获、体会及建议一、课程设计目的1. 进一步熟悉BIOS、DOS系统功能调用,了解基本的显存读写技术;2. 了解响铃符以及利用PC扬声器发出不同频率声音的方法;2. 学会用汇编语言编写一个较完整的实用程序,培养自己的动手操作能力;3. 学习汇编语言程序设计的基本思路和方法,编程、调试、撰写报告等;二、任务介绍及小组成员任务分配三、设计思想及主要流程图1、时间的获取调用系统日期和时间,并将调用的日期和时间数转换成ASCII码存在系统内存区的字符串中。

将存在系统内存区的日期和时间用字符串存入显存区(显存的起始地址:B800:0000)并在合适的位置显示出来。

由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式(如利用定时器中断,中断类型号为1CH)来不断获取系统的时间,这样就形成了会跳动的电子钟了。

2、屏幕特定位置显示字符对应屏幕上的每个字符位置,显存空间都有相应的存储单元与之对应。

对应显示在屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。

属性字节对单色显示和彩色显示都是有效的。

我们可以使用BOIS显示中断10H的各项功能来进行显示字符的编程。

3、主要流程图四、主要程序清单data segmentcount dw 1mess1 db '------------------',0dh,0ah,'$'info db 'Current time is :',0dh,0ah,'$' ;提示语datestr db '00-00-0000',0dh,0ah,'$' ;日期显示信息:month-day-yeartimestr db '00:00:00',0dh,0ah,'$' ;时间提示信息:hour:minute:second mess2 db '------------------',0dh,0ah,'$'mess3 db 'Please input"Q",to quit!',0dh,0ah,'$';提示语data endscode segmentassume cs:code,ds:datamainproc farstart:mov ax,datamov ds,axmov ah,6 ;ah=06(滚动)al=00(全屏空白)mov bh,60h ;设置背景颜色和前景颜色mov cx,0mov dx,1950h ;右下角行号,列号int 10hmov dh,5mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess3mov ah,09hint 21hmov dh,11mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess2mov ah,09hint 21hmov dh,7mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess1mov ah,09hint 21h;--------------------mov dh,8 ;设置到7行30列mov bh,0mov ah,2int 10hmov dx,offset infomov ah,09hint 21h;保存原中断向量mov al,1chmov ah,35hint 21hpush es ;获取1ch中断向量到es:bxpush bxpush ds ;保存;设置新的中断向量mov dx,offset intpromov ax,seg intpromov ds,axmov al,1chmov ah,25hint 21h ;设置中断向量ds:dxpop dsin al,21h ;读中断屏蔽寄存器and al,11111110b ;开定时器中断out 21h,al ;写中断屏蔽寄存器sti ;开中断;等待中断s:mov ah,0 ;调用键盘I/O中断功能号0,获取键值到AL int 16hcmp ah,10Hjz quit ;是Q键,退出程序jmp s;恢复1ch原中断向量quit: pop dxmov al,1chmov ah,25hint 21hmov ax,4c00hint 21hmainendp;------------------------------------------------------------------- ;中断处理程序intpro;------------------------------------------------------------------- intpro proc near;保护现场push dspush axpush cxpush dxpush bppush esmov ax,datamov ds,axstidec countjnz exitcall dispdate ;调用函数显示日期和时间call disptimeMOV count,18;声音mov dl,07mov ah,2int 21hexit:clipop bppop espop dxpop cxpop axpop dsiretintpro endp;---------------------------------------------------------------------;显示日期子程序dispdate;---------------------------------------------------------------------dispdate proc nearpush axpush cxpush dxpush si;获取系统日期:入口:ah<-2ah,出口:cx<-year,dh<-month,dl<-day mov ah,2ahint 21hmov ax,cx ;年份转4位ascii码mov bx,10lea si,datestr+9 ;指向字符串年份最后一位mov cx,4 ;年份4位,循环4次push dx ;保存月日y: xor dx,dx ;dx清零,保存余数即个位div bx ;商存ax,余数存dxadd dl,30h ;转ascii码,存datestr字符串末尾mov [si],dldec siloop ypop dx ;还原dx,处理日mov al,dlxor ah,ahdiv bl ;求日的个位,存ah,十位存aladd ax,3030h ;分别转ascii码sub si,2mov [si],ax ;存日mov al,dh ;处理月xor ah,ahdiv bl ;求月的个位,存ah,十位存aladd ax,3030h ;分别转ascii码sub si,3mov [si],ax ;存日;显示日期字符串MOV AH,2MOV BH,0MOV DH,9MOV DL,25INT 10Hmov dx,offset datestrmov ah,09hint 21hpop sipop dxpop cxpop axretdispdate endp;-------------------------------------------------------------------- ;显示时间子程序disptime;--------------------------------------------------------------------- disptime proc nearpush axpush cxpush dxpush si;获取系统时间:入口:ah<-2ch,出口:ch<-hour,cl<-minute,dh<-second mov ah,2chint 21hmov bl,10lea si,timestrmov al,ch ;处理小时xor ah,ahdiv bladd ax,3030hmov [si],axadd si,3mov al,cl ;处理分xor ah,ahdiv bladd ax,3030hmov [si],axadd si,3mov al,dh ;处理秒xor ah,ahdiv bladd ax,3030hmov [si],ax;显示时间字符串MOV AH,2MOV BH,0MOV DH,10MOV DL,25INT 10Hmov dx,offset timestrmov ah,09hint 21hpop sipop dxpop cxpop axretdisptime endpcode endsEND START五、运行结果及分析分析:因为设置了光标位置,所以时间显示在屏幕中间。

微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料

微机原理-第7章 汇编语言与汇编程序5 常用DOS系统功能调用及BIOS功能调用-文档资料

常用DOS系统功能调用
① ② ③ ④ ⑤ ⑥

单字符输入 ( 01H、07H、08H功能 ) 显示单字符 ( 02H、05H功能 ) 单字符输入或显示( 06H功能 ) 字符串输入 ( 0AH功能 ) 显示字符串 ( 09H功能 ) 检测键盘状态 ( 0BH功能 )
① 单字符输入 (01H、07H、08H功能)
max DB 11 DB ? DB 11 DUP(?)
SEGMENT ASSUME CS:code, DS:data MOV AX , data ;置缓冲区地址于DS:DX
ROM BASIC ROM BIOS ( a)
FFFFH
ROM BASIC ROM BIOS (b)
FFFFH
图 7.5-1 PC-DOS (a) DOS启动后 (b) 执行程序装入后
软件中断分类
DOS中断
中断类型号
20H~3FH 为用户程序和系统程序提供磁盘读写、程 序退出、系统功能调用等功能。
③ 单字符输入或显示 (06H功能)
入口参数:DL = 0FFH,表示从键盘输入字符
或 DL ≠ 0FFH,表示DL中是要显示字符的ASCII 码
功能号:
类型号:
AH = 06H
21H
出口参数:若ZF=0时,表示有键按下,将字符的ASCII码
送入寄存器AL, AL=输入字符。 若标志ZF=1时,表示无键按下,寄存器AL中不 是键入字符ASCII码, AL=0 。
② 显示单字符 (02H、05H功能)
(a)2号系统功能调用
入口参数:DL = 要显示字符的ASCII 码 功能号: AH = 02H 类型号: 21H 出口参数:无 实现功能:显示指定字符,光标右移。

dos功能调用

dos功能调用

dos功能调用DOS(Disk Operating System)是一种操作系统,最初在20世纪80年代末和90年代初广泛应用于个人计算机中。

它提供了许多功能调用,用于执行各种操作。

1. 文件和目录操作:DOS的功能调用可以用于创建、复制、删除、移动文件和目录。

它允许用户在不同的目录之间切换,并显示当前目录的内容。

用户可以使用这些功能调用来管理计算机上的文件和目录。

2. 磁盘操作:DOS的功能调用允许用户格式化磁盘、验证磁盘的完整性,以及在磁盘上创建新的分区。

用户还可以使用这些功能调用来将文件从一个磁盘复制到另一个磁盘,并执行其他与磁盘相关的操作。

3. 内存管理:DOS的功能调用可以用于分配和释放内存。

它允许用户在程序执行过程中动态分配和释放内存块,以提高可用内存的利用率。

4. 进程控制:DOS的功能调用允许用户启动新的进程,并控制它们的执行。

用户可以使用这些功能调用来运行其他程序、传递命令行参数,并等待其他进程完成执行。

5. 输入和输出:DOS的功能调用可以用于读取用户输入和向用户输出信息。

它允许用户在程序执行过程中与用户进行交互,并显示相关的信息,以指导用户的操作。

6. 系统信息获取:DOS的功能调用可以用于获取系统的各种信息,如硬件配置、操作系统版本等。

用户可以使用这些功能调用来了解计算机的当前状态,并根据需要进行相应的操作。

总结起来,DOS的功能调用提供了许多操作系统级别的功能,使用户能够管理文件和目录、执行磁盘操作、分配和释放内存、控制进程、处理输入和输出,并获取系统信息。

这些功能调用为用户提供了一个强大的工具,以在DOS环境中执行各种操作。

MSDOS 系统功能调用表

MSDOS 系统功能调用表

MSDOS 系统功能调用表AH功能调用参数返回参数00终止进程CS=程序段前缀段地址01带回显键盘输入的AL=输入字符02显示一个字符DL=待输出字符的ASCII码03异步通讯输入AL=输入的数据04异步通讯输出DL=待输出的数据05打印机输出DL=待输出的字符06直接控制台I/ODL=0FFH:输入DL=字符的ASCII码:输出AL=输入的字符07无回显的键盘输入AL=输入的字符08无回显的键盘输入(检测Ctrl-C)AL=输入的字符09字符串输出DS:DX=字符串首0A键盘输入至缓冲区DS:DX=缓冲区首DS:[DX]=缓冲区最大容量DS:[DX+1]=输入的字符数DS:DX+2=字符串首0B检测键盘状态AL=00:有输入AL=FF:无输入0C清除缓冲区并请求指定的输入功能AL=输入功能的功能号(1、6、7、8、A)0D磁盘复位清除文件缓冲区0E指定当前缺省磁盘驱动器DL=驱动器号0:A;1:B0F打开文件DS:DX=FCB首地址AL=00:文件打开AL=0FFH:出错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:读成功AL=01:文件已到末尾。

常用Dos系统功能调用[终稿]

常用Dos系统功能调用[终稿]

常用Dos系统功能调用1.键盘输入并显示(1号功能调用)格式: MOV AH, 01HINT 21H功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。

如果按下的是Ctrl+Break组合键,则终止程序执行。

1号功能调用无须入口参数,出口参数在AL中。

2.键盘输入但不显示输入字符(8号功能调用)格式: MOV AH, 08HINT 21H功能:同1号功能调用,但字符不在屏幕上显示。

3.屏幕显示一个字符(2号功能调用)格式: MOV DL, '字符'MOV AH, 02HINT 21H功能:将置入DL寄存器中的字符在屏幕上显示输出。

4.打印输出(5号功能调用)格式: MOV DL, '字符'MOV AH, 05HINT 21H功能:将置入DL寄存器中的字符送打印机接口,打印输出。

5.屏幕显示字符串(9号功能调用)格式: MOV DX, 字符串的偏移地址MOV AH, 09HINT 21H功能:在屏幕上显示字符串。

在使用9号功能调用时,应当注意以下问题。

① 待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。

② 应当将字符串首地址的段基址和偏移地址分别存入DS和DX 寄存器中。

【例4.42】DATA SEGMENTBUF DB ‘HOW DO YOU DO?’, 0AH, 0DH, ‘$’DATA ENDSCODE SEGMENTMOV AX, DATAMOV DS, AXMOV DX, OFFSET BUFMOV AH, 09HINT 21HCODE ENDS执行程序,在屏幕上显示“HOW DO YOU DO?”字符串。

6.字符串输入功能调用(0AH号功能调用)格式: MOV DX, 已定义缓冲区的偏移地址MOV AH, 0AHINT 21H功能:从键盘接收字符,并存放到内存缓冲区。

在使用0AH号功能调用时,应当注意以下问题。

第5章 DOS和BIOS系统功能调用

第5章 DOS和BIOS系统功能调用






3.非设备系统调用 非设备系统调用用于为程序设置中断矢量和建立程序段 前缀,以及读取和设置日期、时间等。 4.目录管理 目录管理包括建立子目录、取当前目录、修改当前目录、 删除目录项等。 5.扩充内存管理 扩充内存管理包括内存分配、释放,分配内存块,装入 或执行程序等。 6.扩充系统调用 扩充系统调用包括读取DOS版本号、终止进程、读取中 断矢量、查找第一个相匹配的文件、读取校验状态等。 上述各系统调用,在MS-DOS的有关资料中都有详细介 绍。如要了解和使用,请查阅相关资料。





3.异步通信口输入(3号调用) 等待从标准异步通信接口输入一个字符,并送到AL中。 系统启动时,标准异步通信接口被初始化为2400位,无 奇偶校验位,8位字长,一个停止位。使用本调用,可依上 述速率及数据格式接收一个字符并存入AL中。 4.异步通信口输出(4号调用) 将存入DL中的字符输出到标准异步通信接口,初始异步 通信接口方式同3号调用。 5.字符打印输出(5号调用) 将存于DL中的字符输出到打印机。 6.直接控制台I/O (6号调用) 本调用可以从键盘输入也可以向显示器输出。当DL设置 为0FFH时,则清CF且等待键盘输入一个字符到AL中。当DL 设置为非0FFH时,则将DL中的字符向显示器输出。本调用 不对Ctrl+Break作检查。




11.读取日期(2AH调用) 调用后的日期存放在CX: DX中。其中CX中为年号,DH中 为月号,DL中为日号(均为二进制数)。 12.设置日期(2BH调用) 调用时,CX: DX中存放有效日期。其中CX存为年号,DH 为月号,DL为日号(均为二进制数)。 若设置有效,调用后AL=0,否则AL=0FFH.

dos中关于显示功能调用指令的用法

dos中关于显示功能调用指令的用法

dos中关于显示功能调用指令的用法在DOS(Disk Operating System)中,我们可以使用一些显示功能调用指令来控制屏幕上的文本和光标的位置,以及改变文本的颜色和背景等。

这些指令在编写批处理文件或操作DOS命令提示符时非常有用。

本文将一步一步地回答关于显示功能调用指令的用法。

第一步:了解显示功能调用指令的基本概念在DOS中,显示功能调用指令通过INT 21h中断来实现。

其中,INT为中断的关键字,21h则表示21个字节的中断向量。

通过传递不同的功能号,我们可以执行不同的显示功能。

第二步:确定所需的功能号DOS中的显示功能调用指令有多种,每种指令对应一个特定的功能号。

以下是一些常用的功能号及其对应的功能:- 功能号0Eh:在屏幕上显示一个字符。

- 功能号02h:在光标的位置打印一个字符。

- 功能号09h:在光标的位置打印一个字符串。

- 功能号06h:在光标的位置清除整个屏幕。

- 功能号0Ah:在光标的位置获取键盘输入。

第三步:了解寄存器和参数在使用显示功能调用指令时,我们需要使用CPU的寄存器来传递参数和接收返回值。

以下是常用的寄存器及其作用:- AH寄存器:存储功能号。

- AL寄存器:存储需要传递的参数。

- BH寄存器:存储前景色(字符颜色)。

- BL寄存器:存储背景色(文本框的颜色)。

第四步:使用指令实现相关功能根据第二步中确定的功能号以及相关参数,我们可以使用显示功能调用指令来实现不同的功能。

下面是一些示例代码:1. 在屏幕上显示一个字符:MOV AH, 0Eh ; 设置功能号为0Eh,用于显示字符MOV AL, 'A' ;传递需要显示的字符INT 21h ; 调用显示功能2. 在光标的位置打印一个字符:MOV AH, 02h ; 设置功能号为02h,用于打印字符MOV DL, 'B' ; 传递需要打印的字符INT 21h ; 调用显示功能3. 在光标的位置打印一个字符串:MOV AH, 09h ; 设置功能号为09h,用于打印字符串MOV DX, OFFSET message ; 传递需要打印的字符串的地址INT 21h ; 调用显示功能message DB 'Hello, World!', 0Dh, 0Ah, '' ; 要打印的字符串4. 在光标的位置清除整个屏幕:MOV AH, 06h ; 设置功能号为06h,用于清除屏幕MOV AL, 00h ; 传递参数00h,表示清除整个屏幕MOV BH, 07h ; 设置背景色为白色MOV BL, 0Fh ; 设置前景色为黑色INT 21h ; 调用显示功能5. 在光标的位置获取键盘输入:MOV AH, 0Ah ; 设置功能号为0Ah,用于获取键盘输入MOV DX, OFFSET buffer ; 传递用于存储输入的缓冲区地址INT 21h ; 调用显示功能buffer DB 20h DUP('') ; 用于存储输入的缓冲区第五步:扩展更多功能除了上述示例代码中的功能,DOS还提供了许多其他的显示功能调用指令,如设置光标位置、滚动屏幕、设置文本颜色等。

DOS系统功能调用系统日期中断取时间源程序

DOS系统功能调用系统日期中断取时间源程序
MOV AL,1CH
MOV AH,25H
INT 21H
IN AL,21L,11111110B
OUT 21H,AL
MOV BH,0
MOV BL,7
MOV AH,0EH
MOV AL,HOUR0 ;高位
ADD AL,'0'
INT 10H
MOV AL,HOUR1 ;低位
RING ENDP
BEEP PROC NEAR ;(响铃程序)
MOV DX,100
IN AL,61H ;将61端口的字节读入AL
AND AL,0FCH
SOUND:XOR AL,02H ;AL中的内容与02H相异或,结果在AL
CMP SEC1,10
JZ SET_S1 ;若大于10,则继续
JMP EXIT_T ;对下一个字节进行处理
SET_S1:MOV SEC1,0
ADD SEC0,1
CMP SEC0,6
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE
INIT PROC FAR ;(中断子程序 1)
START:PUSH DS
SUB AX,AX ;减法指令
ADD AL,'0'
INT 10H
MOV AL,SEC1
ADD AL,'0'
INT 10H
POP DX ;恢复光标位置
MOV AH,2H
INT 10H
EXIT:CLI ;中断位置 0
POP DX ;恢复现场
POP CX
POP BX
POP AX
POP DS
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DOS系统功能调用(INT 21H)一览表
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 文件结束,记录中无数据
=02 DTA空间不够
=03 文件结束,记录不完整
15顺序写DS:DX=FCB首地址AL=00 写成功
=01 盘满
=02 DTA空间不够
16建文件DS:DX=FCB首地址AL=00 建立成功 =FF 无磁盘空间
17文件改名DS:DX=FCB首地址
(DS:DX+1)=旧文件名
(DS:DX+17)=新文件名
AL=00 成功
AL=FF 未成功
19取当前缺省磁盘驱动器AL=缺省的驱动器号0=A,1=B,2=C,...
1A置DTA地址DS:DX=DTA地址
1B 取缺省驱动器FAT信息AL=每簇的扇区数
DS:BX=FAT标识字节
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 缓冲区不满
28随机分块写DS:DX=FCB首地址
CX=记录数AL=00 写成功
=01 盘满
=02 缓冲区溢出
29分析文件名ES:DI=FCB首地址
DS:SI=ASCIIZ串
AL=控制分析标志
AL=00 标准文件
=01 多义文件
=02 非法盘符
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 成功
=FF 无效
2E置磁盘自动读写标志AL=00 关闭标志AL=01 打开标志
2F取磁盘缓冲区的首址ES:BX=缓冲区首址30取DOS版本号AH=发行号,AL=版本
31结束并驻留AL=返回码
DX=驻留区大小
33 Ctrl-Break检测AL=00 取状态
=01 置状态(DL)
DL=00 关闭Ctrl-Break检测
DL=00 关闭检测
=01 打开检测
=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 写
=3 读/写成功: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=文件属性失败:CX=错误码
44 设备文件I/O控制BX=文件代号
AL=0 取状态
=1 置状态DX
=2 读数据
=3 写数据
=6 取输入状态
=7 取输出状态
DX=设备信息
45复制文件代号BX=文件代号1成功:AX=文件代号2 失败:AX=错误码
46人工复制文件代号BX=文件代号1 失败:AX=错误码
CX=文件代号2
47取当前目录路径名DL=驱动器号
DS:SI=ASCIIZ串地址
(DS:SI)=ASCIIZ串
失败:AX=出错码
48分配内存空间BX=申请内存容量成功:AX=分配内存首地失败:BX=最大可用内存
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 取码
AL=1 置码(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地址。

相关文档
最新文档