第八章输入/输出和中断程序设计 1.教学目的:掌握IO程序设计,特别是实模式下的中断程序设计的方法 2.教学要求 ①掌握I/O端口与端口地址及I/O指令。 ②熟悉无条件传送、查询传送、中断传送和DMA传送的基本工作原理。 ③熟悉内部中断和外部中断,理解中断向量表的安排 ④掌握中断请求、中断判优、中断响应、中断处理和中断返回五个过程的 原理。 ⑤熟悉内部中断和外部中断,理解中断向量表的安排。 ⑥掌握中断处理程序的设计 ⑦掌握设置和获取中断向量的方法 ⑧熟悉BIOS中断调用概念和调用方法 ⑨熟悉DOS中断调用概念和调用方法 3.教学重点 ①中断传送和DMA传送 ②中断处理程序的设计 4.掌握难点 ①中断处理程序的设计 5.教学进程安排:P207~P246 6.教学方法 课堂讲授 7.教学内容摘要 8.1I/0设备的数据传送方式 8.1.1cPU与外设的数据传送方式 1.三类信息 (1)控制信息 (2)状态信息 (3)数据信息 2.I/0设备与主机之间进行数据交换方式: (1)程序直接控制方式 (2)程序中断方式
第八章 输入/输出和中断程序设计 1.教学目的:掌握 I/O 程序设计,特别是实模式下的中断程序设计的方法 2.教学要求: ①掌握 I/O 端口与端口地址及 I/O 指令。 ②熟悉无条件传送、查询传送、中断传送和 DMA 传送的基本工作原理。 ③熟悉内部中断和外部中断,理解中断向量表的安排。 ④掌握中断请求、中断判优、中断响应、中断处理和中断返回五个过程的 原理。 ⑤熟悉内部中断和外部中断,理解中断向量表的安排。 ⑥掌握中断处理程序的设计 ⑦掌握设置和获取中断向量的方法 ⑧熟悉 BIOS 中断调用概念和调用方法 ⑨熟悉 DOS 中断调用概念和调用方法 3.教学重点: ①中断传送和 DMA 传送 ②中断处理程序的设计 4.掌握难点: ①中断处理程序的设计 5.教学进程安排:P207~P246 6.教学方法: 课堂讲授 7.教学内容摘要 8.1 I/0 设备的数据传送方式 8.1.1 CPU 与外设的数据传送方式 1.三类信息 (1)控制信息 (2)状态信息 (3)数据信息 2.I/O 设备与主机之间进行数据交换方式: (1)程序直接控制方式 (2)程序中断方式
(3)直接存储器访问(DMA)方式 (4)通道传输方式(IOP 8.1.21/0端口与端口地址 I/0端口编址方法 1.I/0与内存单元统一编址 2.I/0独立编址。 8.1.3/0指令 AL, PORT (AL)←(PORT) IN AX, PORT (AX)+(PORT+1, PORT (AL)←((DX) IN (AX)←((DX)+1,(DX)) PORT, AL (PORT)←(AL) PORT, AX (PORT+1,PORT)←(AX) OUT ((DX)←(AL) ((DX)+1,(DX)←(AX) 8.1.4程序直接控制l/0方式 1.CPU与I/0设备之间的接口信息 2.工作过程 (1)查询输入工作过程 ①从状态端口读入状态信息。 ②测试 Ready位是否为1:若不为1则转①操作,循环等待:若为1则向下运行。 ③从数据端口读入数据到AX寄存器 (2)查询输出工作过程 ①从状态端口读入状态信息 ②检査BUSY位,若为1,则转①操作,循环等待:若为0则向下运行 ③从缓冲区取数据输出 3.应用实例 例8-1】编写两台计算机利用程序查询方式进行串口通信的程序 优缺点 8.1.5程序中断传送方式 1.中断传送方式的工作过程 当外设需要和CPU进行数据交换时,发出一个中断信号。CPU一条指令执行完成后扫 描一遍中断源。若有中断请求,转去执行与外设进行数据交换的中断服务程序。中断服务
(3)直接存储器访问(DMA)方式 (4)通道传输方式(IOP) 8.1.2 I/O 端口与端口地址 I/O 端口编址方法: 1.I/O 与内存单元统一编址 2.I/O 独立编址。 8.1.3 I/O 指令 IN AL,PORT ;(AL)←(PORT) IN AX,PORT ;(AX)←(PORT+1,PORT) IN AL,DX ;(AL)←((DX)) IN AX,DX ;(AX)←((DX)+1,(DX)) OUT PORT,AL ;(PORT)←(AL) OUT PORT,AX ;(PORT+1,PORT)←(AX) OUT DX,AL ;((DX))←(AL) OUT DX,AX ;((DX)+1,(DX))←(AX) 8.1.4 程序直接控制 I/O 方式 1. CPU 与 I/O 设备之间的接口信息 2. 工作过程 ⑴查询输入工作过程 ①从状态端口读入状态信息。 ②测试 Ready 位是否为 1:若不为 1 则转①操作,循环等待;若为 1 则向下运行。 ③从数据端口读入数据到 AX 寄存器。 ⑵查询输出工作过程 ①从状态端口读入状态信息。 ②检查 BUSY 位,若为 1,则转①操作,循环等待;若为 0 则向下运行。 ③从缓冲区取数据输出。 3. 应用实例 【例 8-1】编写两台计算机利用程序查询方式进行串口通信的程序。 4.优缺点 8.1.5 程序中断传送方式 1. 中断传送方式的工作过程 当外设需要和 CPU 进行数据交换时,发出一个中断信号。CPU 一条指令执行完成后扫 描一遍中断源。若有中断请求,转去执行与外设进行数据交换的中断服务程序。中断服务
程序处理完后,外设启动,CPU恢复中断现场,CPU与外设开始并行工作。利用中断方式 进行CPU和外设之间进行数据传送,减少了CPU的查询等待时间,提高了工作效率 地址 地址总线 译码器」AoA 数据锁存器 少去数据总线 缓冲器 输入数 据 装置 置中断允许 中断矢量 巨态缓冲器 >去数据总线 (中断响应信号) 图8.1中断传送方式接口电路 2.应用实例 例8-2】中断传送方式的打印机程序。设数据块首址为 DATA BUF,指针为 POINT。 8.1.6直接存储器访问(DMA)方式 1.DMA方式具有以下特点: (1)可在1/0设备与主存之间直接传送数据,以“周期窃取方式”暂停CPU对系统总 线的控制,占用时间很少。 (2)传送时,源与目的均直接由硬件逻辑指定。 (3)主存中需要开辟相应的的数据缓冲区,指定数据块长,计数由硬件完成。 (4)在一批数据传送结束后,一般通过中断方式通知CPU进行后处理 5)CP与I/0设备能在一定程度上并行工作,效率很高 (6)一般用于高速、批量数据的简单传送。 2.完整的DMA工作过程 (1)初始化 (2)DMA请求
程序处理完后,外设启动,CPU 恢复中断现场,CPU 与外设开始并行工作。利用中断方式 进行 CPU 和外设之间进行数据传送,减少了 CPU 的查询等待时间,提高了工作效率。 输入 装置 锁存器 D Q 三态 缓冲器 地址 译码器 装置中断允许 中断矢量 三态缓冲器 去数据总线 INTR 去数据总线 INTA (中断响应信号) 地址总线 A0~A7 数据 数 据 +5V IO / M RD 图 8.1 中断传送方式接口电路 2. 应用实例 【例 8-2】中断传送方式的打印机程序。设数据块首址为 DATA_BUF,指针为 POINT。 8.1.6 直接存储器访问(DMA)方式 1. DMA 方式具有以下特点: (1)可在 I/O 设备与主存之间直接传送数据,以“周期窃取方式”暂停 CPU 对系统总 线的控制,占用时间很少。 (2)传送时,源与目的均直接由硬件逻辑指定。 (3)主存中需要开辟相应的的数据缓冲区,指定数据块长,计数由硬件完成。 (4)在一批数据传送结束后,一般通过中断方式通知 CPU 进行后处理。 (5)CPU 与 I/O 设备能在一定程度上并行工作,效率很高。 (6)一般用于高速、批量数据的简单传送。 2. 完整的 DMA 工作过程 (1)初始化 (2)DMA 请求
(3)DMA响应 (4)DMA传送 (5)结束处理 3.DMA数据传送过程完整步骤 (1)DMA控制器向CPU发出HOLD信号,请求使用总线 (2)CPU发出响应信号HLDA给DMA控制器,并将总线让出,这时CP放弃了对总线的 控制,而DMA控制器获得了总线控制权 (3)传输数据的存储器地址(在地址寄存器中)通过地址总线发出 (4)传输的数据字节通过数据总线进行传送 (5)地址寄存器增1,以指向下一个要传送的字节 (6)字节计数器减1 (7)如字节计数器非0,转向第③步。 (8)否则,DMA控制器撤销总线请求信号HOLD,传送结束。 8.1.7通道传送方式(I0P) 1.通道Ⅰ/0数据传送是采用专用I/0处理机(IOP)来控制的 2.通道有自己的通道指令 3.IOP与DMA方式比较 8.2中断传送 8.2.1中断与中断源 1.中断 2.中断源 8.2.2中断分类 1.外部中断 2.内部中断 (1)由中断指令INT引起的中断 (2)处理CPU某些错误的中断 (3)调试程序( DEBUG)设置的中断 ①单步中断 ②断点中断 4.80386~ Pentium处理机异常中断 (1)失效 (2)陷阶
(3)DMA 响应 (4)DMA 传送 (5)结束处理 3. DMA 数据传送过程完整步骤 (1)DMA 控制器向 CPU 发出 HOLD 信号,请求使用总线。 (2)CPU 发出响应信号 HLDA 给 DMA 控制器,并将总线让出,这时 CPU 放弃了对总线的 控制,而 DMA 控制器获得了总线控制权。 (3)传输数据的存储器地址(在地址寄存器中)通过地址总线发出。 (4)传输的数据字节通过数据总线进行传送。 (5)地址寄存器增 1,以指向下一个要传送的字节。 (6)字节计数器减 1。 (7)如字节计数器非 0,转向第③步。 (8)否则,DMA 控制器撤销总线请求信号 HOLD,传送结束。 8.1.7 通道传送方式(IOP) 1.通道 I/O 数据传送是采用专用 I/O 处理机(IOP)来控制的 2.通道有自己的通道指令 3.IOP 与 DMA 方式比较 8.2 中断传送 8.2.1 中断与中断源 1.中断 2.中断源 8.2.2 中断分类 1. 外部中断 2. 内部中断 ⑴由中断指令 INT 引起的中断 ⑵处理 CPU 某些错误的中断 ⑶调试程序(DEBUG)设置的中断 ①单步中断 ②断点中断 4.80386~Pentium 处理机异常中断 (1)失效 (2)陷阶
(3)中止 8.23中断向量表 中断操作的5个步骤: 1.取中断类型号 2.计算中断向量地址 3.取中断向量,偏移地址送IP,段地址送CS 4.转入中断处理程序; 5.中断返回到INT指令的下一条指令。 类型0中断处理程序入口地址 00004 类型1中断处理程序入口地址 00008H 类型2中断处理程序入口地址 003FC 乍类型F中断处理程序入口 003FFH 图8.5中断向量表 8.24中断响应过程 中断发生时,中断硬件机构自动完成的动作 1.取中断类型号N 2.标志寄存器(PSW)内容压栈: 3.当前代码段寄存器(CS)内容压栈 4.当前指令指引(IP)内容压栈 5.禁止外部中断和单步中断(置IF=0,TF=0) 6.从中断向量表中取4*n的字内容送IP,取4n+2的字内客送 7.转中断处理程序 8.2.5中断优先级与中断嵌套 1.中断优先级 优先级从高到低的次序为: 优先级高 非屏蔽中断(NMI) 内部中断 可屏蔽中断(INTR) 优先级低 单步中断
(3)中止 8.2.3 中断向量表 中断操作的 5 个步骤: 1.取中断类型号; 2.计算中断向量地址; 3.取中断向量,偏移地址送 IP,段地址送 CS; 4.转入中断处理程序; 5.中断返回到 INT 指令的下一条指令。 类型 0 中断处理程序入口地址 类型 1 中断处理程序入口地址 类型 2 中断处理程序入口地址 类型 0FF 中断处理程序入口地址 00000H 00004H 00008H 0000CH 003FCH 003FFH 图 8.5 中断向量表 8.2.4 中断响应过程 中断发生时,中断硬件机构自动完成的动作: 1.取中断类型号 N; 2.标志寄存器(PSW)内容压栈; 3.当前代码段寄存器(CS)内容压栈; 4.当前指令指引(IP)内容压栈; 5.禁止外部中断和单步中断(置 IF=0,TF=0); 6.从中断向量表中取 4*n 的字内容送 IP,取 4*n+2 的字内客送 CS; 7.转中断处理程序。 8.2.5 中断优先级与中断嵌套 1. 中断优先级 优先级从高到低的次序为: 优先级高 非屏蔽中断(NMI) 内部中断 可屏蔽中断(INTR) 优先级低 单步中断
2.中断嵌套 8.2.6中断指令 软中断指令INT 指令格式:INTn 指令功能:转到相应中断处理程序执行,n为中断类型编号 2.中断返回指令IRET 指令格式:IRET 指令功能:从中断服务程序返回主程序,主要是恢复中断前的CS、IP和R的内容。 8.3中断处理程序设计 利用软中断指令INT,可以进入系统的各个中断处理程序中去。因此,用户程序可以 通过INT指令使用系统程序提供的中断功能,同时可以利用中断向量表中保留的中断类型 号,编写自己所需的中断处理程序。对此本节将做详细介绍 8.31中断处理程序结构 1.外中断处理程序 (1)保护现场:保护通用寄存器内容和除CS之外段寄存器的内容,保护方法一般是压 栈 (2)尽快完成中断处理,以免影响其他外设中断请求 (3)恢复现场 (4)中断返回,用IRET指令返回 2.软中断处理程序 (1)考虑切换堆栈 (2)及时开中断 (3)应该保护现场 (4)完成中断处理 (5)恢复现场 (6)堆栈切换
2. 中断嵌套 8.2.6 中断指令 1. 软中断指令 INT 指令格式:INT n 指令功能:转到相应中断处理程序执行,n 为中断类型编号 2. 中断返回指令 IRET 指令格式:IRET 指令功能:从中断服务程序返回主程序,主要是恢复中断前的 CS、IP 和 FR 的内容。 8.3 中断处理程序设计 利用软中断指令 INT,可以进入系统的各个中断处理程序中去。因此,用户程序可以 通过 INT 指令使用系统程序提供的中断功能,同时可以利用中断向量表中保留的中断类型 号,编写自己所需的中断处理程序。对此本节将做详细介绍。 8.3.1 中断处理程序结构 1. 外中断处理程序 (1)保护现场:保护通用寄存器内容和除 CS 之外段寄存器的内容,保护方法一般是压 栈; (2)尽快完成中断处理,以免影响其他外设中断请求; (3)恢复现场: (4)中断返回,用 IRET 指令返回。 2. 软中断处理程序 ⑴考虑切换堆栈 ⑵及时开中断 ⑶应该保护现场 ⑷完成中断处理 ⑸恢复现场 ⑹堆栈切换
(7)一般利用IRET指令实现中断返回 8.32设置和获取中断向量 设置中断向量 (1)直接写入法 (2)使用D0S调用法。 【例8-3】使用直接写入法设置中断向量。 【例8-4】使用D0S功能调用设置中断向量 8.33中断程序设计举例 【例8-5】编写输出字符串“ EXAMPLE FOR INT”的中断处理程序,设中断号为5。 【例8-6】编写一个中断处理程序,要求在主程序运行过程中,每隔10秒响铃一次, 同时在屏幕上显示出信息“ THE BELL IS RING!” 8.4BI0S中断调用 8.4.1B|0s中断调用概述 1.图8.7是用户程序和操作系统关系示意图 用户程序 高级语言 高级语言 磁盘操作系统(DOS) 其他操作系统 基本输入输出系统(BIOS) IBM PC机硬件系统 图8.7用户程序和操作系统关系示意图 2.在下列情况下可考虑使用BI0S中断 (1)有些功能D0S没有提供,但BIOS提供了: (2)有些场合无法使用D0S功能调用 (3)其他原因 8.4.2B|0s中断调用方法 BI0S调用的基本操作
⑺一般利用 IRET 指令实现中断返回 8.3.2 设置和获取中断向量 1. 设置中断向量 (1)直接写入法 (2)使用 DOS 调用法。 【例 8-3】使用直接写入法设置中断向量。 【例 8-4】使用 DOS 功能调用设置中断向量。 8.3.3 中断程序设计举例 【例 8-5】编写输出字符串“EXAMPLE FOR INT”的中断处理程序,设中断号为 5。 【例 8-6】编写一个中断处理程序,要求在主程序运行过程中,每隔 10 秒响铃一次, 同时在屏幕上显示出信息“THE BELL IS RING!” 8.4 BIOS 中断调用 8.4.1 BIOS 中断调用概述 1.图 8.7 是用户程序和操作系统关系示意图, IBM PC 机硬件系统 基本输入输出系统(BIOS) 磁盘操作系统(DOS) 高级语言 其他操作系统 用户程序 高级语言 图 8.7 用户程序和操作系统关系示意图 2.在下列情况下可考虑使用 BIOS 中断: ⑴有些功能 DOS 没有提供,但 BIOS 提供了: ⑵有些场合无法使用 DOS 功能调用; ⑶其他原因。 8.4.2 BIOS 中断调用方法 1. BIOS 调用的基本操作
(1)设置分功能号 (2)置入口参数 (3)使用中断语句INTn (4)分析出口参数 2.键盘输入功能调用 BI0S中断16H为键盘输入。16H号中断有三个功能,功能号要求放在AH中,具体功 能见表8-3。 表8-3BI0s键盘中断(IT16H) 从键盘读一字符 AL— 符码中 AH=扫描码 AL=字符码 读键盘缓冲区的字符ZF=0 AH=扫描码 =|缓冲区空 取键盘状态字节 AL=键盘状态字节 【例8-7】从键盘读入0~9任一数,根据不同数显示不同的字符串。要求用BIoS中断来 接收键盘输入 3.BI0S显示功能调用 有关显示输出BI0S调用(INT10H)的功能很强,主要包括设置显示方式,设置光标 大小和位置,设置调色板号,显示字符,显示图形等,见表8-4。下面做简单介绍。 表8-4中断类型10H的功能调用操作 AH 「调用珍数 返回参数/说明 设置显示方式 1置光标类型 (CH)。a=光标开始行 CL)。=光标结束行 2置光标位置 H页号:DH/DL=行号/列号 BHE 置当前显示页 6「屏幕初始化或上卷「AL=上卷行数:AL=0全屏幕为空白 CH/CL=左上角行号/列号 屏幕初始化或下 BH=卷入行属性 CH/CL=左上角行号/列号 读光标位置的属性 AH/AL=属性/字符 位置显示字|B= BL=属性:CX 复次数 位置仅显示|BH CX=字符重复次数 小字符(光标前AL=字符:BL=前景色 光标跟随字符移动 3|显示字符串 ES:BP=串地址:CX=串长 DH/DL=起始行/列号:班H=页号
⑴设置分功能号 ⑵置入口参数 ⑶使用中断语句 INT n ⑷分析出口参数 2. 键盘输入功能调用 BIOS 中断 16H 为键盘输入。16H 号中断有三个功能,功能号要求放在 AH 中,具体功 能见表 8-3。 表 8-3 BIOS 键盘中断(INT 16H) AH 功 能 返 回 参 数 0 从键盘读一字符 AL=字符码中 AH=扫描码 1 读键盘缓冲区的字符 ZF=0 AL=字符码 ZF=l 缓冲区空 AH=扫描码 2 取键盘状态字节 AL=键盘状态字节 【例 8-7】从键盘读入 0~9 任一数,根据不同数显示不同的字符串。要求用 BIOS 中断来 接收键盘输入 3. BIOS 显示功能调用 有关显示输出 BIOS 调用(INT 10H)的功能很强,主要包括设置显示方式,设置光标 大小和位置,设置调色板号,显示字符,显示图形等,见表 8-4。下面做简单介绍。 表 8-4 中断类型 10H 的功能调用操作 AH 功能 调用参数 返回参数/说明 0 设置显示方式 AL=显示模式(0~13H) 见附录 1 置光标类型 (CH)0~3=光标开始行 (CL)0~3=光标结束行 2 置光标位置 BH=页号;DH/DL =行号/列号 3 读光标位置 BH=页号 CH/CL=光标开始/结束行 DH/DL =行号/列号 5 置当前显示页 AL=页号 6 屏幕初始化或上卷 AL=上卷行数;AL=0 全屏幕为空白 BH=卷入行属性 CH/CL=左上角行号/列号 DH/DL=右上角行号/列号 7 屏幕初始化或下卷 AL=下卷行数;AL=0 全屏幕为空白 BH=卷入行属性 CH/CL=左上角行号/列号 DH/DL=右上角行号/列号 8 读光标位 置的属性 和字符 AH/AL =属性/字符 9 在光标位 置显示字 符和属性 BH=显示页号;AL =字符 BL=属性;CX=字符重复次数 A 在光标位 置仅显示 字符 BH=显示页号;AL =字符 CX=字符重复次数 E 显示字符 (光标前 移) AL =字符;BL=前景色 光标跟随字符移动 13 显示字符串 ES:BP=串地址;CX=串长 DH/DL=起始行/列号;BH=页号 AL =0;BL=属性
CHAR,…,CHAR 光标返回起始位置 串:CHAR,CHAR,…,CHAR光标跟随字符串移动 串:CHAR,CHAR,…,CHAR 光标返回起始位置 串:CHAR,CHAR,…,CHAR 光标跟随字符串移动 (1)显示方式的设置 ①单色字符显示 ②彩色字符显示 ③显示存储器 (2)光标的设置 ①INT1OH的01H功能是设置光标的大小和状态 ②INT1OH的02H功能是设置光标位置 (3)读光标位置 (4选择显示页 (5)清屏和卷屏 4.BI0S打印功能 (1)BIOS中断17H的功能0是打印一个字符的功能 (2)17H的功能1初始化打印机 5.BIOS串行通信口功能 8.5D0s功能调用 8.5.1D0S功能调用概述 8.5.2D0S功能调用方法 1.DOS软中断(INT20H-INT27H)指令 表8-8D0S软中断 款中断 入口参数 出口参数 INT 20H 程序正常退出 INT 2 系统功能调用|功能调用相应的人口参数功能调用相应的出口参数 INT 22H 结束退出 INT 23H CTRL_ BREAK退出
串:CHAR,CHAR,…,CHAR AL =1;BL=属性 串:CHAR,CHAR,…,CHAR AL =2 串:CHAR,CHAR,…,CHAR AL =3 串:CHAR,CHAR,…,CHAR 光标返回起始位置 光标跟随字符串移动 光标返回起始位置 光标跟随字符串移动 ⑴显示方式的设置 ①单色字符显示 ②彩色字符显示 ③显示存储器 ⑵光标的设置 ①INT 10H 的 01H 功能是设置光标的大小和状态 ②INT 10H 的 02H 功能是设置光标位置 ⑶读光标位置 ⑷选择显示页 ⑸清屏和卷屏 4. BIOS 打印功能 ⑴BIOS 中断 17H 的功能 0 是打印一个字符的功能 ⑵17H 的功能 1 初始化打印机 5. BIOS 串行通信口功能 8.5 DOS 功能调用 8.5.1 DOS 功能调用概述 8.5.2 DOS 功能调用方法 1.DOS 软中断(INT 20H-INT 27H)指令 表 8-8 DOS 软中断 软中断 功能 入口参数 出口参数 INT 20H 程序正常退出 INT 21H 系统功能调用 AH=功能号 功能调用相应的入口参数 功能调用相应的出口参数 INT 22H 结束退出 INT 23H CTRL-BREAK 退出
INT 24H 出错退出 CX=读出扇区数 INT 25H 读盘 DX=起始逻辑扇区 DS:BX=缓冲区地址 CF=1出错 AL=盘号 区数 辑扇区 DS:BX=缓冲区地址 CF=1出错 L=盘号 INT 27H 驻留退出 INT 28H-INT 2FH DOS专用 2.D0S系统功能调用(INT21H) (1)键盘输入 ①扫描码与字符码 ②有关键盘的系统功能调用 (2)显示器(CRT)输出 (3)打印机输出 (4)磁盘文件管理 ①传统文件管理 ②扩充文件管理方法 8.参考资料:《IBM-PC汇编语言程序设计》沈美明 9.作业:P246习题8 10.总结:本部分的功能调用是编程中常用到的知识,需熟练掌握
INT 24H 出错退出 INT 25H 读盘 CX=读出扇区数 DX=起始逻辑扇区 DS:BX=缓冲区地址 AL=盘号 CF=1 出错 INT 26H 写盘 CX=写扇区数 DX=起始逻辑扇区 DS:BX=缓冲区地址 AL=盘号 CF=1 出错 INT 27H 驻留退出 INT 28H~INT 2FH DOS 专用 2. DOS 系统功能调用(INT 21H) ⑴键盘输入 ①扫描码与字符码 ②有关键盘的系统功能调用 ⑵显示器(CRT)输出 ⑶打印机输出 ⑷磁盘文件管理 ①传统文件管理 ②扩充文件管理方法 8.参考资料:《IBM-PC 汇编语言程序设计》 沈美明 9.作业:P246 习题 8 10.总结:本部分的功能调用是编程中常用到的知识,需熟练掌握