第七章 输入/输出与中断【微机原理】3

简介: 第七章 输入/输出与中断【微机原理】3

1.中断向量表的建立

1.DOS系统功能调用法(INT 21H)

  功能号:
      (AH)=25H。
  入口参数:
      (AL)=中断类型号
      (DS)=中断服务程序入口地址的段地址
      (DX)=中断服务程序入口地址的偏移地址 

如中断服务子程序名为INT60,中断类型号为60H

PUSH DS           ;保护DS
LEA  DX,INT60    ;取服务程序偏移地址
MOV  AX,SEG INT60;取服务程序段地址
MOV  DS,AX
MOV  AH,25H      ;送功能号
MOV  AL,60H      ;送中断类型号
INT  21H          ;DOS功能调用
POP  DS           ;恢复DS 


2.直接装入法

用传送指令直接将中断服务子程序首地址INT60置入向量表中。设中断类型号为60H(此类型号对应的向量表地址为从00180H即0000H: 0180H开始的四个连续存储单元)。程序段如下:

   XOR  AX,AX
   MOV  DS,AX
   MOV  AX,OFFSET INT60
   MOV  DS:[0180H],AX ;置偏移地址
   MOV  AX,SEG INT60
   MOV  DS:[0180H+2],AX;置段地址 

2.编程举例
编写中断服务程序实现在屏幕上显示字符串“This is a Interruption Service Program!”。设中断类型号取60H,采用DOS功能调用法置中断服务程序入口地址,通过软中断指令INT 60H实现中断服务程序的调用。程序设计如下:
int_1.asm

DATA  SEGMENT
MESG  DB 'This is a Interruption Service Program!$'
DATA  ENDS
CODE  SEGMENT
       ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
PUSH    DS          
MOV   DX,OFFSET DISP60  ;取DISP60的偏移地址
MOV   AX,SEG DISP60   ;取中断服务程序DISP60的段地址
MOV   DS,AX
MOV   AH,25H      
MOV   AL,60H      
INT   21H           
POP   DS    
INT     60H
MOV   AH,4CH
INT     21H
DISP60  PROC  FAR                  ;中断服务程序DISP60
        MOV    DX,OFFSET MESG
        MOV    AH,09H
        INT     21H
        IRET
DISP60  ENDP
CODE   ENDS
         END  START

在本例的中断服务程序中无须保护现场和恢复现场。

结果1

说明:此为VS CODE执行结果

其中,Do you need to keep the DosBox[Y,N]

不是程序本身的输出结果

int_2.asm

DATA  SEGMENT
MESG  DB 'This is a Interruption Service Program!$'
DATA  ENDS
CODE  SEGMENT
       ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
PUSH    DS          
XOR  AX,AX
   MOV  DS,AX
   MOV  AX,OFFSET DISP60
   MOV  DS:[0180H],AX ;置偏移地址
   MOV  AX,SEG DISP60
   MOV  DS:[0180H+2],AX;置段地址          
POP   DS    
INT     60H
MOV   AH,4CH
INT     21H
DISP60  PROC  FAR                  ;中断服务程序DISP60
        MOV    DX,OFFSET MESG
        MOV    AH,09H
        INT     21H
        IRET
DISP60  ENDP
CODE   ENDS
         END  START

结果2

说明:此为VS CODE执行结果

其中,Do you need to keep the DosBox[Y,N]

不是程序本身的输出结果



7.5可编程中断控制器Intel 8259A

7.5.1 8259A的功能

7.5.2 8259A的内部结构及外部引脚

7.5.3 8259A的工作方式

7.5.4 8259A的编程

最后

请您阅读文章声明,默认同意该声明

打赏通道


相关文章
|
8月前
|
数据格式
LabVIEW编程LabVIEW开发控制安东电子LU-926U04Y四路调节模例程与相关资料
LabVIEW编程LabVIEW开发控制安东电子LU-926U04Y四路调节模例程与相关资料
51 1
|
7月前
|
移动开发
技术好文:stm32寄存器版学习笔记06输入捕获(ETR脉冲计数)
技术好文:stm32寄存器版学习笔记06输入捕获(ETR脉冲计数)
306 0
|
8月前
LabVIEW编程LabVIEW开发PXI-6704输出大于20mA的电流例程与相关资料
LabVIEW编程LabVIEW开发PXI-6704输出大于20mA的电流例程与相关资料
53 0
|
物联网
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
559 0
STM32:TIM输入捕获硬件部分(内含:1.输入捕获简介+2.频率测量+3.通用/高级定时器的输入捕获电路分析(重点)+4.主从触发模式+5.输入捕获基本结构(重点)+6.PWM基本结构)
第七章 输入/输出与中断【微机原理】1
第七章 输入/输出与中断【微机原理】1
80 0
|
芯片
第七章 输入/输出与中断【微机原理】2
第七章 输入/输出与中断【微机原理】2
146 0
|
存储 芯片
【微机原理笔记】第 6 章 - 输入输出和中断技术
【微机原理笔记】第 6 章 - 输入输出和中断技术
377 0
MOTOROLA MVME147-013 计算机程序执行输入-输出经过
MOTOROLA MVME147-013 计算机程序执行输入-输出经过
68 0
MOTOROLA MVME147-013 计算机程序执行输入-输出经过
|
人工智能 数据可视化
对大脑进行逆向工程以解码来自输出神经元放电的输入信号
对大脑进行逆向工程以解码来自输出神经元放电的输入信号
|
缓存 移动开发
408计算机组成原理学习笔记——输入/输出系统(I/O)
408计算机组成原理学习笔记——输入/输出系统(I/O)
285 1
408计算机组成原理学习笔记——输入/输出系统(I/O)