江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter6_2中断程序设计

第四节中断程序设计一、中断向量的保存、设置和恢复二、软中断程序设计三、可屏蔽硬中断程序设计四、问题讨论
第四节 中断程序设计 一、中断向量的保存、设置和恢复 二、软中断程序设计 三、可屏蔽硬中断程序设计 四、问题讨论

设置和恢复一、中断向量的保存(35H功能)1.保存中断向量入口参数AL=要保存向量的中断类型号N功能号AH =35H类型号21H出口参数BX=(0: N×4)ES =(0: N×4 +2)实现功能将类型号N的中断向量保存在ES、BX中
一、中断向量的保存、设置和恢复 1. 保存中断向量 (35H功能) 入口参数 AL = 要保存向量的中断类型号N 功能号 AH = 35H 类型号 21H 出口参数 BX = ( 0: N×4 ) ES = ( 0: N×4 +2 ) 实现功能 将类型号N 的中断向量保存在ES、BX中

例保存09H类型的中断向量方法一:用堆栈保存中断向量AL,09H·取中断向量MOVMOVAH,35HINT21HES;用堆栈保存PUSHBXPUSH
方法一: 用堆栈保存中断向量 MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H PUSH ES ;用堆栈保存 PUSH BX 、 、 例 保存09H类型的中断向量

方法二:用变量保存中断向量;定义变量save 09cs DW ?save_09ip DW ?MOVAX,SEG save 09csAXMOVDS,AL,MOV09H;取中断向量MOVAH,35H21HINT;用变量保存MOVsave 09cs,EsMOVsave 09ip,BX
方法二: 用变量保存中断向量 save_09cs DW ? ;定义变量 save_09ip DW ? 、 MOV AX, SEG save_09cs MOV DS, AX MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H MOV save_09cs , ES ;用变量保存 MOV save_09ip , BX

设置中断向量量(25H功能)2.入口参数AL=要设置向量的中断类型号NDS:DX=中断子程的入口地址(中断向量功能号AH= 25H类型号21H无出口参数实现功能将类型N的中断向量设置在向量表中,即(0:N×4)=类型N中断子程入口地址的偏移值(0:N×4+2)=类型N中断子程入口地址的段值
入口参数 AL = 要设置向量的中断类型号N DS:DX = 中断子程的入口地址(中断向量) 功能号 AH = 25H 类型号 21H 出口参数 无 实现功能 将类型N的中断向量设置在向量表中, 即 ( 0: N ×4) =类型N中断子程入口地址的偏移值 ( 0: N ×4+2) =类型N中断子程入口地址的段值 2. 设置中断向量 (25H功能)

例1设置中断子程Sound的中断向量,类型号为60HcodeSEGMENTCS:codeASSUME;中断子程PROCstart:soundMOVAX. SEGsoundMOVDS, AXMOVDX,Offset soundMOVAL, 60HMOVAH,25HINT21HIRETENDPsoundINT60H;调用60H中断子程ENDScodeMOV AH, 4CHENDstartINT21H
例1 设置中断子程Sound 的中断向量,类型号为60H code SEGMENT ASSUME CS:code start: 、 MOV AX, SEG sound MOV DS, AX MOV DX, Offset sound MOV AL, 60H MOV AH, 25H INT 21H 、 INT 60H ;调用60H中断子程 、 MOV AH,4CH INT 21H ; 中断子程 sound PROC 、 、 、 IRET sound ENDP code ENDS END start

二、软中断程序设计软中断子程与子程序的编写类似,不同在:子程用CALL指令调用:中断子程用INT指令调用子程用RET指令返回:中断子程用IRET指令返回2.3.CALL指令直接用过程名做操作数即由过程名提供子程的入口地址INT指令由类型号N到中断向量表中固定的单元获得中断子程的入口地址
二、软中断程序设计 软中断子程与子程序的编写类似, 不同在: 1.子程用CALL指令调用;中断子程用INT指令调用 2.子程用RET指令返回;中断子程用IRET指令返回 3.CALL指令直接用过程名做操作数, 即由过程名提供子程的入口地址 INT指令由类型号N到中断向量表中固定的单元 获得中断子程的入口地址

对比子程序的编写,编写软中断程序时1.应在主程中将中断子程的入口地址(中断向量)放入中断向量表中。(可用25H系统功能完成)2.主程中用INT指令调用中断子程3.中断子程应用IRET返回
对比子程序的编写, 编写软中断程序时, 1. 应在主程中将中断子程的入口地址(中断向量) 放入中断向量表中。(可用25H系统功能完成) 2. 主程中用INT指令调用中断子程 3. 中断子程应用IRET返回

例编写一个60H类型的中断子程,功能是将BX寄存器的内容以16进制形式显示出来。若用子程编写:SEGMENTcodeADDDL,30HASSUME CS:codeCMPDL,39Hstart:JLEprintCALL list;调用子程ADDDL,07HMOVAH,4CHMOVAH.2Hprint:INT21H返回DOSINT21HDECCHlistPROC;子程JNZnextMOVCH, 4RET;子程返回MOVCL,4listENDPROLBX, CLnext:ENDScodeMOVDL, BLENDstartANDDL,0FH
例 编写一个60H类型的中断子程, 功能是将BX寄存器的内容以16 进制形式显示出来。 ADD DL, 30H CMP DL, 39H JLE print ADD DL, 07H print: MOV AH,2H INT 21H DEC CH JNZ next RET ;子程返回 list ENDP code ENDS END start code SEGMENT ASSUME CS:code start: CALL list ;调用子程 MOV AH, 4CH INT 21H ;返回DOS list PROC ;子程 MOV CH, 4 MOV CL, 4 next: ROL BX, CL MOV DL, BL AND DL, 0FH 若用子程编写:

用中断子程编写:listPROC;中断子程listMOV CH, 4MOV CL, 4SEGMENTcodeROLBX,CLnext:ASSUMECS:codeMOVDL,BLANDDL,0FHstart:ADDDL,30HMOV;用25H功能AX, SEG listCMPDL,39HMOVDS,AX将中断子程listJLEprint;的入口地址LEADX, listADDDL.07Hprint: MOV AH,2H;设置到MOVAL,60HINT 21HMOVAH,25H;中断向量表中DECCHINT21HJNZnext;中断返回IRETINT60H;调用中断子程listENDPMOVAH.4CHENDScodeINT21H;返回DOSEND start
code SEGMENT ASSUME CS:code start: MOV AX, SEG list ;用25H功能 MOV DS , AX ;将中断子程list LEA DX , list ;的入口地址 MOV AL , 60H ;设置到 MOV AH , 25H ;中断向量表中 INT 21H INT 60H ;调用中断子程 MOV AH , 4CH INT 21H ;返回DOS list PROC ;中断子程list MOV CH , 4 MOV CL , 4 next: ROL BX , CL MOV DL , BL AND DL, 0FH ADD DL, 30H CMP DL, 39H JLE print ADD DL, 07H print: MOV AH , 2H INT 21H DEC CH JNZ next IRET ;中断返回 list ENDP code ENDS END start 用中断子程编写:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter6_1 中断技术.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter5_2 CPU与外设间的数据传送方式.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter5_1接口技术的基本概念.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter5_0接口概述.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter4_2 总线与时序.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter4_1 PC机的总线结构和时序.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter3_5 汇编语言程序设计小结.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter3_4 汇编语言程序设计.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter3_3 BIOS和DOS中断功能调用.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter3_2汇编语言程序举例.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter3_1汇编语言及其程序结构.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter2_5处理机控制-串处理指令.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter2_4逻辑指令-控制转移指令.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter2_3 8086-8088的指令系统.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter2_2 8086-8088的寻址方式.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter2_1 8086-8088微处理器结构.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter1_2计算机中数的表示和编码.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter1_1计算机基础知识.pptx
- 江苏科技大学:《计算机组成原理》课程教学资源(PPT课件,完整讲稿,共十章).pptx
- 《系统软件与软件安全》课程教学课件(PPT讲稿,英文)Lecture-8-SDS-vision.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter6_3 定时器计数器8253.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_1可编程并行接口8255A.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_2并行口应用.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_3 串行接口应用.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_3 可编程串行通信接口8251.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_4 DMA8237-2.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter7_4 DMA控制器8237.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter8-0 模拟接口.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter8_1DA和AD转换原理.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter8_2 DA转换DAC0832.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter8_3 AD转换ADC0809.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter9_0 从8086到Pentium微处理器.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter9_1高档微处理器Pentium(M).pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter9_2 80x86保护模式原理与结构.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter9_3 32处理器结构.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_0存储器组织.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_1存储器接口.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_2存储器系统.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter0_绪论.pptx
- 常州大学:《面向对象程序设计(Java)》课程教学课件(讲稿)概述.pdf
