1、主从式8259A的初始化设置:

初始化设置如下:

(1)中断触发方式:边沿触发

(2)中断屏蔽方式:常规屏蔽方式,即使用OCW1向IMR写屏码

(3)中断优先级排队方式:固定优先级的完全嵌套方式

(4)中断结束方式:非自动结束方式的两种命令格式

即:不指定EOI方式、指定EOI方式

在中断服务程序完毕时和中断返回之前,用结束命令代码20H或6XH结束中断。

(5)级联方式:两片主/从连接

从片的中断输出引脚INT连到主片的中断请求输入引脚IR2上,两片级联处理15级中断。

(6)15级中断的中断号分配:

IRQ0  08H    IRQ1  09H

IRQ2  0aH    IRQ3  0bH

IRQ4  0cH    IRQ5  0dH

IRQ6  0eH    IRQ7  0fH

IRQ8  70H    IRQ9  71H

IRQ10  72H    IRQ11  73H

IRQ12  74H    IRQ13  75H

IRQ14  76H    IRQ15  77H

(7)两片8259A的端口地址分配为:

主片端口为:20H(偶地址A0=0),21H(奇地址A0=1)

从片端口为:0A0H(偶地址A0=0)  ,0A1H(奇地址为A0=1)

2、初始化8259A主片解析:

根据以上硬件连接,系统上电后,对8259A初始化的程序段为:

(1)ICW1的功能:

 MOV AL,11H

A7、A6、A5:全为0

D4:为1

D3为0:边沿触发

D1为0:级联

D0为1:需要ICW4

所以这句话的意思是:边沿触发,级联(多片),需要ICW4

(2)ICW2的功能:

 MOV AL,8

相当于将D3置高电平,代表中断号的高五位。

(3)主片的ICW3:

 MOV Al,04H

相当于将主片的IR2上接从片。

(4)ICW4:

MOV AL,01H

D4:特殊全嵌套方式

D3、D2:非缓冲方式

D1:非自动结束中断

D0:处理器选择

所以这句话的意思是:非缓冲,全嵌套,非自动结束中断

3、初始化8259A的从片解析:

(1)ICW3:

3、级联情况下主片初始化与从片初始化的异同:

4、初始化的程序段:

INTA00 EQU 020H     ;8259A主片端口(A0=)
INTA01 EQU 021H ;8259A从片端口(A1=)
... ...
MOV AL,11H ;ICW1
OUT INTA00,AL
JMP SHORT $ + MOV AL, ;ICW2
OUT INTA01,Al
JMP SHORT $ + MOV Al,04H ;ICW3,主片的 IR2接上从片
OUT INTA01,Al
JMP SHORT $ + MOV AL,01H ;ICW4
OUT INTA01,Al
... ... INTB00 EQU 0A0H ; 8259A从片端口(A0=)
INTB01 EQU 0A1H ; 8259A从片端口(A0=)
... ...
MOV AL,11H
OUT INTB00,Al
JMP SHORT $ + MOV AL,70H
OUT INTB01,Al
JMP SHORT $ + MOV Al,02H ;从片接主片的 IR2
OUT INTB01,Al
JMP SHORT $ + MOV AL,01H
OUT INTB01,Al
... ...

8259A的初始化(多片)的更多相关文章

  1. 8259A的初始化(单片)

    1.单片8259A的初始化流程图: 在单片的初始化中不需要ICW3,因为ICW3是指明主片和从片的连接情况的. 2.程序解析: (1)ICW1 MOV AL,13H (2)ICW2 MOV AL,08 ...

  2. 8259A工作原理描述

    通过初始化编程向8259A写入相应的初始化命令ICW,可以使芯片处于一个规定的基本工作方式,并在此方式下进行工作.8259A的初始化命令字共有4个ICW1-ICW4,进行初始化时要求ICW1-ICW4 ...

  3. Linux 中断详解 【转】

    转自:http://blog.csdn.net/tiangwan2011/article/details/7891818 原文地址 http://www.yesky.com/20010813/1921 ...

  4. 理解Linux中断 (1)【转】

    转自:http://blog.csdn.net/tommy_wxie/article/details/7425685 版权声明:本文为博主原创文章,未经博主允许不得转载. 一直认为,理解中断是理解内核 ...

  5. linux驱动(续)

    网络通信 --> IO多路复用之select.poll.epoll详解 IO多路复用之select.poll.epoll详解      目前支持I/O多路复用的系统调用有 select,psel ...

  6. ucore-lab1-练习1report

    练习1 report 问题1:OS镜像文件ucore.img是如何一步一步生成的(需要比较详细地解释Makefile中的每一条相关命令和命令参数的含义,以及说明命令导致的结果)? GNU make是一 ...

  7. 8086实时时钟实验(一)——《x86汇编语言:从实模式到保护模式》05

    1.代码清单 ;代码清单9-1 ;文件名:c09_1.asm ;文件说明:用户程序 ;创建日期:2011-4-16 22:03 ;=================================== ...

  8. 2017-2018-1 20179215《Linux内核原理与分析》第五周作业

    一.视频学习 1.系统调用的三层皮:xyz(API).system call(中断向量).sys_xyz(不同种类的服务程序). 2.Libc库定义个一些API引用了封装例程(wrapper rout ...

  9. oslab oranges 一个操作系统的实现 实验四 认识保护模式(三):中断异常

    实验目的: 理解中断与异常机制的实现机理 对应章节:第三章3.4节,3.5节 实验内容: 1. 理解中断与异常的机制 2. 调试8259A的编程基本例程 3. 调试时钟中断例程 4. 建立IDT,实现 ...

随机推荐

  1. maven setting 配置仓库,pom.xml中repository不起作用

    问题描述 最近做java项目,需要使用公司自己搭建的maven仓库,但是有些包公司的仓库中没有,导致下载失败. 项目环境 jdk:1.8 maven:3.5 问题原因分析 maven的setting文 ...

  2. torch_06_卷积神经网络

    1.概述 卷积神经网络的参数,由一些可学习的滤波器集合构成的,每个滤波器在空间上都计较小,但是深度和输入数据的深度保持一致.在前向传播中,让每个滤波器都在输入数据的宽度和高度上滑动(卷积),然后计算整 ...

  3. PyQt5笔记之标签

    标签 QLabel用于显示文本或图像.没有提供用户交互功能.标签的视觉外观可以通过各种方式进行配置,并且可以用于为另一个窗口小部件指定焦点助记键. 一个QLabel可以包含以下任意内容类型: 内容 设 ...

  4. Spring Boot 一个依赖搞定 session 共享,没有比这更简单的方案了!

    有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你就知道松哥说的是对的了! 在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是 ...

  5. 深入V8引擎-初始化默认Platform

    本来寻思着写一篇"'Hello' + ', World'"是怎么从JS代码编译然后输出的,然而compile过程的复杂性远超我的想象,强上怕会走火入魔,还是老老实实先回家种田,找点 ...

  6. Linq与委托

    using System; using System.Linq; using System.Reflection; using Stuglxt_Models; namespace ConsoleApp ...

  7. linux命令之——grep详解

    grep命令用于查找文件里符合条件的字符串:也可以用于查找内容包含指定的范本样式的文件.它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文 ...

  8. Node.js自动本地重启服务器

    node.js在本地项目中,更新 了代码 是不会自动刷新 的,要重启才能生效,每次更改代码又手动重启这样很麻烦. 可以安装 个supervisor.全局安装supervisor npm install ...

  9. jdbc预编译实现方式

    jdbc预编译可以有两种方式: 方式一.jdbc自己实现的预编译,就是做一下特殊字符处理来防SQL注入,看PreparedStatement源码就可以了. public static void mai ...

  10. 外汇盈利EA

    >>>>>>>>>>>>>>>>>>>>>>>>> ...