2.8259的操作命令字 1)○CW1—中断屏蔽控制字 oCW1是中断屏蔽操作命令字,由引脚A0=1确定,格式如图821 所 2)OCW2—中断结束和优先级循环控制字 OCW2用来设置非自动中断结束和优先级循环方式的操作命令字, 由引脚A0=0及D4D3=00确定,格式如图8.22所示。 3)OCW3—屏蔽和读状态控制字 oCW3由A0=0及D4D3=01确定。其格式如图823所示。D1D0 为读命令。D1D0=11,表示读中断服务寄存器;D1D0=10,表示读 中断请求寄存器:D1=0,D0无意义。 D2:决定8259A是否设置为查询工作方式。查询字的格式如图824 所示 D6D5:决定8259A是否设置为特殊屏蔽模式命令。若D6D5=11,则 为设置特殊屏蔽模式命令;若D6D5=01,则为撤消特殊屏蔽 模式、返回普通屏蔽模式命令;若D6=0,则D5无意义。 退出 82.2
8.2.2 2. 8259的操作命令字 1)OCW1—中断屏蔽控制字 OCW1是中断屏蔽操作命令字,由引脚A0=1确定,格式如图8.21 所示。 2)OCW2—中断结束和优先级循环控制字 OCW2用来设置非自动中断结束和优先级循环方式的操作命令字, 由引脚A0=0及D4D3=00确定,格式如图8.22所示。 3)OCW3—屏蔽和读状态控制字 OCW3由A0=0及D4D3=01确定。其格式如图8.23所示。D1D0: 为读命令。D1D0=11,表示读中断服务寄存器;D1D0=10,表示读 中断请求寄存器;D1= 0,D0无意义。 D2:决定8259A是否设置为查询工作方式。查询字的格式如图8.24 所示。 D6D5:决定8259A是否设置为特殊屏蔽模式命令。若D6D5=11,则 为设置特殊屏蔽模式命令;若D6D5=01,则为撤消特殊屏蔽 模式、返回普通屏蔽模式命令;若D6=0,则D5无意义。 退 出
四、8259A的实例应用 我们可以认为,现在微机系统中断控制器的连接原理 如图8.25所示。 这里,主片的端口地址仍为20H、21H,从片的端口 为AOH、A1H。见BOS中初始化主片8259A的程序 需要注意,主、从片8259都采用的是普通的EO方式 对于从片提出的中断,其服务程序返回前应发两个EO命 令,一个给从片8259,一个给主片8259: MOV∨ AL, 20H OUT OAOH.AL OUT 20H.AL 退出 8.22
8.2.2 四、8259A的实例应用 我们可以认为,现在微机系统中断控制器的连接原理 如图8.25所示。 这里,主片的端口地址仍为20H、21H,从片的端口 为A0H、A1H。见BIOS中初始化主片8259A的程序。 需要注意,主、从片8259都采用的是普通的EOI方式, 对于从片提出的中断,其服务程序返回前应发两个EOI命 令,一个给从片8259,一个给主片8259: MOV AL,20H OUT 0A0H,AL OUT 20H,AL 退 出
2.主片中断子程序的编程举例 下面给出的程序是PC机中的旦时钟中断子程序,也就是主8259的|R0中 断子程序。它占用的是外部中断的最高优先级,每隔(182)s时间自 动产生一次中断请求 ;数据段DATA,段地址为0040H,其中包括有关的伪指令: TImer low DW 地址为0040:006CH wTimer high DW? 地址为0040:006EH b Timer ofl DB 地址为0040:0070H mOtor status Db motor count DB eo EQU 20H 中断子程序(见连接) 战读 退出 8.22
8.2.2 2. 主片中断子程序的编程举例 下面给出的程序是PC机中的日时钟中断子程序,也就是主8259的IR0中 断子程序。它占用的是外部中断的最高优先级,每隔(1/18.2)s时间自 动产生一次中断请求。 ;数据段DATA,段地址为0040H,其中包括有关的伪指令: wTimer_low DW ? ;地址为0040:006CH wTimer_high DW ? ;地址为0040:006EH bTimer_ofl DB ? ;地址为0040:0070H bMotor_status DB ? bmotor_count DB ? eoi EQU 20H ;中断子程序(见连接) 退 出
3.从片中断子程序的编程举例 下面我们通过系统保留的中断源R9展示从片中断子 程序的编写方法。R9系统保留给用户,其信号线接到了 系统总线的引脚B4,下面我们利用该中断源,通过图826 Interrupt was acknowledged !.CA 设计的电路,向CPU提出中断请求,CPU响应中断后显示 所以80×86PC机的可屏蔽中断服务程序的设计主要 有两个方面。 第一,根据8259中断输入线对应的中断类型码,将中 断服务程序的入口地址填入中断向量表; 第二,向8259写入操作命令字对中断屏蔽与中断结束 进行处理(初始化字系统已设置) 实现程序(见连接) 战读 退出 8.22
8.2.2 3. 从片中断子程序的编程举例 下面我们通过系统保留的中断源IR9展示从片中断子 程序的编写方法。IR9系统保留给用户,其信号线接到了 系统总线的引脚B4,下面我们利用该中断源,通过图8.26 设计的电路,向CPU提出中断请求,CPU响应中断后显示 “Interrupt was acknowledged !”。 所以8086 PC机的可屏蔽中断服务程序的设计主要 有两个方面。 第一,根据8259中断输入线对应的中断类型码,将中 断服务程序的入口地址填入中断向量表; 第二,向8259写入操作命令字对中断屏蔽与中断结束 进行处理(初始化字系统已设置)。 实现程序(见连接) 退 出
82.332位机的中断系统 32机的中断系统的逻辑结构仍然采用主、从两片8259 相连的结构,但实模式下与保护模式下中断的处理过程有 很大的差别。 、32机实模式下的中断 在实模式下,32机的中断处理过程与16机是一样的 仅仅在于种类的增多,如图8.27所示。 退出
8.2.3 32位机的中断系统 32机的中断系统的逻辑结构仍然采用主、从两片8259 相连的结构,但实模式下与保护模式下中断的处理过程有 很大的差别。 一、32机实模式下的中断 在实模式下,32机的中断处理过程与16机是一样的, 仅仅在于种类的增多,如图8.27所示。 退 出