8086中断之INT21H

合集下载

微机原理与接口技术考试试题答案

微机原理与接口技术考试试题答案

微机原理与接口技术考试试题答案微机原理与接口技术考试试题答案.微机原理不接口技术试题答案一、填空题,20*1,1、微机系统由,硬件系统,和,软件系统,两部分组成。

2、8086有,20 ,位地址线,存储器容量为, 1M,B。

3、8086CPU 内部组成结构从功能上讲,可分为, BIU ,和, EU ,两部分。

4、8086/8088的四个段寄存器为,DS ,、,ES ,、,SS ,、, CS ,5、用来存放CPU状态信息的寄存器是, FLAGS ,。

6、用来存放指令地址的寄存器是, IP ,。

7、8086的16位标志寄存器FLAGS中OF=1表示运算结果,溢出,,ZF=1表示运算结果为零。

PF=0表示运算结果的低8位中1的个数为,奇数,。

8、 8086的16位标志寄存器FLAGS中IF=1表示CPU,允许,中断,TF=1表示CPU进入,单步,工作方式。

9、地址4000H:0300H,其物理地址是,40300H,,段地址是,4000H ,,偏秱地址是,0300H ,。

...11、I/O端口的寻址方式有两种,分别是( 直接寻址 ),( 间接寻址 )。

12、指令JO NEXT 表示OF=( 1 )时转秱。

13、将I/O设备端口内容读入AL中的指令劣记符是( IN)。

14、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是( DX)。

15、设置DF=1的指令为, STD ,。

16、清除CF标志的指令为, CLC ,。

17、一对操作堆栈的指令为,POP ,和,PUSH ,。

18、LOOPNZ的循环条件为, CX?0丏ZF=0 ,。

19、实现无符号数乘2的指令的劣记符是,SHL ,,实现有符号数除2的指令的劣记符是,SAR ,。

22、8086CPU引脚信号中中断请求两个信号名称为,INT ,和,NMI ,。

26、I/O端口的编址方式一般有,存储器统一编址,和,独立编址,两种29.1片8259A中断控制器可管理, 8 ,级中断,用9片8259A可构成, 64 ,级主从式中断管理系统。

数据的7种寻址方式

数据的7种寻址方式

第3章数据的7种寻址方式,包括指令的格式,功能,指令的正误判断。

20位物理地址的生成:将段地址添上一个0(十六进制),再加上偏移地址。

数据传送指令:MOV PUSH,POP,XCHG,LEA,IN,OUT1、MOV ,注意指令的正误判断,可从3点入手。

(1)指令格式(2)数据大小是否超出范围(3)类型是否匹配。

通常,不能在两个内存单元间直接传送,段寄存器间不能直接传送,立即数不能直接传送到段寄存器,不能用CS作目的操作数。

2、PUSH 入栈指令,先减后压。

不能对字节进行压栈操作。

3、POP 出栈指令,先弹后加,将栈顶的一个字弹出到目的操作数。

4、EXCHG 交换指令。

不能在两个内存单元间直接交换。

5、LEA 取有效地址指令。

6、IN 输入指令,当端口大于255时,要用DX来表示端口号。

7、OUT 输出指令,当端口大于255时,要用DX来表示端口号算术运算等指令1、ADD AL,[1000H]例:AL=85H,BL=79H,执行指令ADD AL,BLAL= 0FEH ,CF= 0 ,OF= 02、SUB AL,BL3、INC [1000H] ERRORINC BYTE PTR [1000H]INC WORD PTR [1000H]该指令不影响CF标志4、DEC [1000H] ERRORDEC BX5、NEG AL 求相反数例:Y=X,X>=0; Y=|X|,X<0,编写程序段实现该功能MOV AL,XCMP AL,0JGE Y1NEG ALY1:MOV Y,ALHLT编程序的思路:取数据,在CPU里做运算,存数据;如果数据较多,通常要设指针,再取数据,取完数据后,修改地址指针,又取下一个数据,循环下去。

6、CMP AL,BL无符号数,A表示大,B表示小,E表示相等。

有符号数,G表示大,L表示小,E表示相等。

例:CMP AX,BXJGE NEXTXCHG AX,BXNEXT: CMP AX,CXJGE DONEXCHG AX,CXDONE:该程序段的功能是找AX,BX,CX中最大的数,并把最大的数放在AX中。

dos中断INT+21H大全

dos中断INT+21H大全
出口参数:CF=0——创建成功,否则,AX=错误号(03H或05H),其含义见错误代码表
(2)、功能3AH
功能描述:删除指定的驱动器和路径的目录
入口参数:AH=3AH
DS:DX=指定路径的字符串地址(以0为字符串的结束标志)
出口参数:CF=0——删除成功,否则,AX=错误号(03H或05H),其含义见错误代码表
5、若输入的字符数超过缓冲区的最大容量,则多出的部分被丢弃,系统并发出响铃,直到输入“回车”键才结束输入。
例如:
BUFF 80, ?, 80 DUP(?) ;最多接受80个字符
出口参数:无
(9)、功能0BH
功能描述:检查标准输入设备上是否有字符可读。该输入操作可被重定向
入口参数:AH=0BH
入口参数:AH=09H
DS:DX=待输出字符的地址
说明:待显示的字符串以’$’作为其结束标志
出口参数:无
(8)、功能0AH
功能描述:从标准输入设备上读入一个字节字符串,遇到“回车键”结束输入(输入的字符在标准的输出设备上有回显)。如果该输入操作被重定向,那么,将无法判断文件是否已到文件尾
(3)、功能03H
功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1
入口参数:AH=03H
出口参数:AL=读入字符的ASCII码
(4)、功能04H
功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1
入口参数:AH=04H
DL=待输出字符的ASCII码
出口参数:无
1BH, 1CH —读取驱动器数据
2EH —设置校验标志36H —读取驱动器分配信息54H —读取校验标志

INT 21H 详解

INT 21H 详解

INT 21H 详解_字符功能调用类(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功能描述:输出一个字符串到标准输出设备上。

微机原理关于21H中断解释

微机原理关于21H中断解释

中断INT 21H :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功能描述:输出一个字符串到标准输出设备上。

西华大学微机原理考试题库 2

西华大学微机原理考试题库 2

1,典型中断处理程序结构应包括CPU中断响应,保护现场,开中断,执行中断服务程序,关中断,恢复现场,开中断,返回等部分。

2,按照总线的规模,用途及其应用场合,总线分为数据总线,地址总线,控制总线3,串行接口RS—232C关于机械特性的要求,规定使用一个9根插针的标准连接器4,CPU与I/O接口间传送的信息一般包括数据信息,状态信息,控制信息3种类型。

3类信息的传送方向分别应是(从哪到哪)CPUI/O,CPUI/O,CPUI/O5,输入/输出端口有2种编址方法,即I/O端口与存储器单元统一编址和I/O端口单独编址,前一种编址的主要优点是1,CPU对外设的操作可使用全部的存储器操作指令2,由于I/O端口的地址空间是内存空间的一部分,这样I/O端口的地址空间可大可小从而使外设的数目几乎不受限制,而只受总存储量的限制,从而大大的增加了系统的吞吐率3,不需要专门的输入/输出指令,降低了对操作码的解码难度6,8088系统中外围设备请求总线控制权是通过HOLD进行的7,8086通过中断控制器最多可望管理外部中断的个数为2568,CPU的ALU的主要完成算数,逻辑运算及位移操作9,若设某容量为2K字节的RAM起始地址为1000H,则其终止地址为17FFH10,8088/8086系统中外围设备可屏蔽中断请求是通过INTR进行的可编程定时/计数器8253的工作方式共有6种,其中3个定时/计数器通道,3个地址寄存器11 CPU马上响应中断的必要条件之一是一条指令执行完毕后12 CPU与I/O接口间信息传送的方式有无条件传送,查询传送,中断传送,DMA传送,DMA传送方式为快速传递方式13,8086/8088的中断响应用了2个总线周期,从INTA引脚输出2个负脉冲,第1个总线周期完成AD15——-AD0浮空,通知中断源,准备中断类型码,复位中断请求信号,第2个总线周期完成被响应的外设(或接口芯片)向数据总线AD7———AD0输送一个字节的中断类型码14,在Intel 8253A中通过对其中一个控制端口的编程设定和控制工作方式,其端口地址是当A1A0=11时的地址,而内存单元的有效偏移地址可由直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,变址寻址方式,基址寻址方式,相对基址变址寻址方式15,8088CPU有20根外部地址线,8根外部数据线,其存储器分段管理,每段最大64KB,段基地址在段寄存器组中16,8088CPU工作在最大模式,必须将CPU的引脚MN/MX接地(MN/MX=0)17,8088CPU工作在最大模式时,MN/MX=1,用8288对S2,S1,S0信号译码产生相应的总线控制信号18,8086对外部请求相应优先级最高的请求是HOLD19,个人计算机I/O寻址空间大小一般为64K20,一个程序可包含四个段,代码段包含可执行的指令,堆栈段包含一个后进先出的数据警戒区,用于保护子程序调用时的段现场地址,和现场IP信息在宏汇编语言源程序中指令MOV AX,2345经汇编后变成MOV AX,0929H(用指令表示)在DEBUG 调试程序中执行该指令后(AX)=2345H宏汇编默认十进制,DEBUG默认十六进制21,8088CPU在执行指令INT 13H时,断点地址压栈后,将转而执行中断服务子程序,入口地址存入在内存的0004CH单元到0004FH单元,其中低地址的字送至寄存器IP中,高地址字送至寄存器CS中22,若寄存器DL内容为2AH,PORT_VAL为端口13H的符号名,宏汇编语言系统对指令AND DL,PORT_VAL AND OFEH汇编后产生的语句为AND DL,12H,DL内容为2AH,执行指令后DL=02H23,在串行通信方式中,有两种最基本的通信方式是异步通信(ASYNC)方式,同步通信方式24.8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU往总线发出地址信息25,8086/8088复位后从FFFF0H地址处开始执行程序26,在堆栈内,有效地址为2500H到2505H单元内依次存放10H,20H,30H,40H,50H,60H六个数,已知SP=2502H,执行POP BX后,有SP=2504H,BX=4030H27,能完成将AL寄存器清零的有SUB AL,AL XOR AL,AL MOV AL,028,8086的内存空间和I/O空间是单独编址的,分别是1MB和64KB29,8086内部由执行单元(EU)和总线接口单元(BIU)两部分组成,其作用分别是从BIU中获得指令并执行和从内存储器的指定区域中取出指令送到指令队列中去排队30,8086的基址加变址寻址方式中,基址寄存器可以是BX,BP,变址寄存器可以是SI和DI 31,标号和变量均是汇源程序中的符号地址,其中标号指向的内存单元中存放的是指令,而变量指向的内存单元中存放的是数据。

8086中断


非屏蔽中断NMI(用户不能 用软件屏蔽)
外中断,硬件中断(来 自CPU外部) 可屏蔽中断(INTR)
中断
内中断,软件中断(由 CPU内部INT指令引起)
INT
运算错误
debug
8259A中断控制器
非屏蔽中断
通过CPU的NMI引脚进入,NMI 被响应时,自动产生2号类型中 断。 -它不受中断允许标志的屏蔽,微 处理器无法禁止,将在当前指令 执行结束予以响应; -8086的非屏蔽中断的类型号是2; -非屏蔽中断主要用于处理系统的 意外或者故障。 例: ——电源调电前的数据保护 ——存储器读写错误的处理 (整个系统中只能有一个非屏蔽 中断)
谢谢
中断屏蔽
IF=0:可屏蔽中断不会被响 应。 -关中断、禁止中断、中断 屏蔽系统复位,使IF=0; -任何一个中断被响应,使 IF=0; -执行指令CLI(禁止中断发 生),使IF=0; IF=1:可屏蔽中断会被响应 。 -开中断、允许中断、中断 开放执行; -指令STI(禁止中断发生) ,使IF=1; 执行指令IRET恢复原IF状态 。
中断屏蔽方式
1.普通屏蔽方式 -将中断屏蔽寄存器 (IMR)中某一或几位 置1,即可将相应位的 中断请求屏蔽。例如 :将11110000写入IMR ,即可屏蔽IR7 –IR4 的中断请求,开放IR3 –IR0的中断。
中断屏蔽方式
2.特殊屏蔽方式: 通常情况下,当一个 终端被响应时,禁止 同级或较低级别的中 断请求。在特殊屏蔽 方式下,当一个中断 被响应时,仅屏蔽同 级别的再次中断,较 低或者较高级别的中 断请求可被允许进入 。
非屏蔽 中断 NMI (用户 不能用 软件屏 蔽)
RAM奇偶效验错
I/O通道的扩展板出 现奇偶校验错

8.3.18086中断的分类内部中断和硬件中断

2019/1/15 10
例:使用DOS功能调用存取中断向量。
┆ MOV MOV INT AL, N AH, 35H 21H ;保存原中断向量 ;调用DOS功能35H
PUSH ES PUSH BX PUSH DS MOV MOV MOV MOV MOV INT 2019/1/15 AX, SEG INTHAND DS, AX AL, N AH, 25H 21H
2019/1/15
4
8.3.2
中断向量表
在8086系统中,内存最低 端的1K字节地址范围内(从 00000-003FFH),放置256 个中断的中断向量(入口地 址),即称为中断向量表。 每个中断矢量在表中占据4 个字节,地址较高的两个字 节放入口地址的段地址,地 址较低的两个字节放偏移地 址。 中断向量表中的存储地址 =中断类型码n×4
从外设发出的中断请求到cpu响应中断,用两个控制条件起决定 作用: 1、外设的中断请求是否被屏蔽。 2、cpu是否允许相应中断。
8259A内部有一个中断屏蔽寄存器,端口地址为21h
2019/1/15 2
只允许键盘中断: mov al ,11111101 out 21h,al
2019/1/15
结束硬件中断 mov al, 20h out 20h, al
;置用户定义的中断处理 ;地址(段地址和偏移地址) ;设置新的中断向量
11
DX, OFFSET INTHAND ;程序INTHAND的入口
POP ┆ POP POP
DS DX DS ;恢复原中断向量
MOV AL , N
MOV AH , 25H
INT RET INTHAND: ┆ IRET
2019/1/15 12
CTRL_BREAK退出地址

微机原理int指令用法

微机原理int指令用法微机原理INT指令用法是一项重要的计算机基础知识。

在本文中,我们将探讨INT指令的使用方法,包括它是如何工作的,如何使用以及它的主要用途是什么。

1. 什么是INT指令?INT指令是英文“Interrupt”的缩写,意为“中断”。

它是一种机器语言指令,用于在微处理器的运行过程中中途中断当前程序的执行,转而执行特定的子程序。

INT指令的作用是改变CPU的执行地址,将程序的控制转移到OS(操作系统)的INTERRUPT(中断)处理程序。

2. INT指令的作用在微机系统中,INT指令可以用于多种用途。

其中最常见的是交互式的输入/输出任务,如使用键盘读取用户输入、打印输出等。

操作系统可以使用INT指令来控制CPU的任务,并与外部设备交互。

具体来说,操作系统将各种外设(例如硬盘、网络接口卡等)和应用软件的操作分成了很多子任务,每个子任务都有一个唯一的编号。

当一个应用程序需要使用某个设备时,它将向操作系统发送一个特定的中断请求(INT 请求),要求OS运行相应的子任务。

操作系统随后将控制权移交给该子任务,并在完成后再次将控制权移回应用程序。

3. 如何使用INT指令?INT指令的使用步骤如下:•确定INT的中断向量号INT指令的操作数是一个8位的整数。

操作数的位数决定了它所对应的中断向量。

例如,INT 10H表示发出一个10H中断请求,而INT 21H表示发出一个21H中断请求。

可以在编写具有交互式I/O任务的程序时使用它们。

•发送INT请求在程序执行时,调用INT指令的程序会向操作系统发送一个INT请求。

CPU将控制权转移到OS的INTERRUPT处理程序,该程序将控制权传输给一个特定的子任务。

•处理中断操作系统将执行与中断向量对应的子任务。

在完成后,操作系统将控制权返回给程序的主要代码,程序将从停止的地方继续运行。

4. INT指令的示例以下是一个例子,它使用了INT 21H指令来读取键盘输入。

微机原理与接口技术课后习题与参考答案

微机原理与接口技术课后习题与参考答案-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类各有什么特点1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代各代的名称是什么1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1] 补= 11111111③ [-0] 补=00000000 ④[-128] 补=100000001.6 ① [+355] 补= 0000000101100011 ② [-1] 补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解:
例如:需要键盘输入,并且回显。
AH的值需要查表取得,表在下面
指令:MOV AH,01
INT 21H
通过这样两条指令,输入的字符就会被存储在AL中。
表:DOS系统功能调INT 21H
AH
功能
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=扩充错误码
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=输入功能号
(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目录中未找到文件
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=文件属性
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首地址
调用参数
返回参数
00
程序终止(同INT 20H)
CS=程序段前缀
01
键盘输入并回显
AL=输入字符
02
显示输出
DL=输出字符
03
异步通迅输入
AL=输入数据
04
异步通迅输出
DL=输出数据
05
打印机输出
DL=输出字符
06
直接控制台I/O
DL=FF(输入)
DL=字符(输出)
AL=输入字符
07
键盘输入(无回显)
成功: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=设备信息
BH=错误类型
BL=建议的操作
CH=错误场所
5A
建立临时文件
CX=文件属性
DS:DX=ASCIIZ串地址
成功:AX=文件代号
失败:AX=错误码
5B
建立新文件
CX=文件属性
DS:DX=ASCIIZ串地址
成功:AX=文件代号
失败:AX=错误码
5C
控制文件存取
AL=00封锁
=01开启
BX=文件代号
CX: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首地址
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=文件代号
错误:AX=错误码
3D
打开文件
DS:DX=ASCIIZ串地址
AL=0读
=1写
=3读/写
成功:AX=文件代号
错误:AX=错误码
3E
关闭文件
BX=文件代号
失败:AX=错误码
3F
读文件或设备
DS:DX=数据缓冲区地址
BX=文件代号
CX=读取的字节数
读成功:
AX=实际读入的字节数
AX=0已到文件尾
带返回码结束
AL=返回码
4D
取返回代码
AX=返回代码
4E
查找第一个匹配文件
DS:DX=ASCIIZ串地址
CX=属性
AX=出错代码(02,18)
4F
查找下一个匹配文件
DS:DX=ASCIIZ串地址
(文件名中带有?或*)
AX=出错代码(18)
Hale Waihona Puke 54取盘自动读写标志AL=当前标志值
56
文件改名
DS:DX=ASCIIZ串(旧)
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=信息区首地址
=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=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关闭检测
=01打开检测
SI:DI=文件长度
失败:AX=错误码
62
取程序段前缀
BX=PSP地址
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文件结束,记录中无数据
失败:BX=最大可用内存
49
释放内容空间
ES=内存起始段地址
失败:AX=错误码
4A
调整已分配的存储块
ES=原内存起始地址
BX=再申请的容量
失败:BX=最大可用空间
AX=错误码
4B
装配/执行程序
DS:DX=ASCIIZ串地址
ES:BX=参数区首地址
AL=0装入执行
AL=3装入不执行
失败:AX=错误码
4C
读出错:AX=错误码
40
写文件或设备
DS:DX=数据缓冲区地址
BX=文件代号
CX=写入的字节数
写成功:
相关文档
最新文档