8259初始化命令字(ICW1-ICW4)

2023-11-17

8259A的中断操作功能很强,包括中断的请求、屏蔽、排队、结束、级联以及提供中断类型号和查询等操作,并且其操作的方式又有不同。它既能实现向量中断,又能进行中断查询,它可以用于16位机,也可用于8位机。因此,使用起来感到复杂且不好掌握。为此,以8259A的操作功能为线索,来讨论为实现这些功能的各个命令字的含义,为编程使用8259A提供一些思路。
  • ICW1~ICW4在初始化程序中设定,且在整个工作过程中保持不变。
  • ICW1~ICW4必须按顺序设定。
  • ICW1写入8259偶地址中(A0=0,在AT机中为20H/A0H),ICW2~ICW3写入8259奇地址中(A0=1,在AT机中为21H/A1H)。
    ICW1: ICW2: ICW3: ICW4:
    中断方式字ICW1:

    ICW1是用来设定中断请求触发的方式的命令字。它的各位有如下意义:
    D4=1:作为ICW1的标志。
    D0(IC4)=1:指出初始化程序中将设置ICW4。
    D1(SNGL):D1=0,系统中只有一片8259;D1=1,系统中有多片8259。 
    D2(ADI):在8086/8088系统中不起作用,设定为0。 
    D3(LTIM):D3=0,边沿触发;D3=1,电平触发。
    中断方式字ICW2______信息量最高的部分

      ICW2是8259A提供给CPU的中断类型号,此 中断类型号是一个8位的代码,是通过初始化命令ICW2提供的。但由于ICW2的低3位被8位机占用,因此只有高5位是在初始化编程时,通过命令字ICW2写入的,它的低3位是由中断请求线IRi的二进制编码(如IR4的编码为100)决定,并且是在第一个INTA到来时,见这个编码写入低3位的。 
      因此,有这样的规定: 中断源的中断号是由高5位和低3位相加得到的。高5位由ICW2指定;而其低3位是由中断源所连接的中断请求输入线IR7~IRO的优先级编码决定,并在CPU读取中断号之前,由8259A自动填写。也就是说,ICW2将引脚与中断号码对应起来
    例如,ICW2=08H,则IR0~IR7请求对应的中断类型码分别为:08H、09H、0AH、0BH、0CH、0DH、0EH、0FH。 ICW2=70H,IR0~IR7请求对应的中断类型码分别为:70H、71H、72H、73H、74H、75H、76H、77H。
    中断方式字ICW3:
    ICW3设置主8259和从8259的联结关系(仅当ICW1中的SGGL=1,系统中有多片8259级联时,才设置ICW3)。

    主8259的ICW3:指出主8259的哪些引脚上联有从8259。
    如:ICW3=11110000B,则主8259的IR7、IR6、IR5、IR4上均连有从8259。
    从8259的ICW3:  ID2~ID0的编码值,指出该从8259的INT联至主8259的哪个引脚,如联至IR5,则ID2~ID0=101。在多片8259级联的系统中,主8259的CAS2~CAS0与所有从8259的CAS2~CAS0联在一起,主8259的CAS2~CAS0作为输出,从8259的CAS2~CAS0作为输入。
    当第一个INTA到来时,主8259的CAS2~CAS0输出从8259的编码ID2~ID0。从8259收到该编码后,与其自身的ID2~ID0(在ICW3中)比较,如果相等,则在第二个INTA到来时,该片从8259发出中断类型码。
    中断方式字ICW4:
    D7~D5: 000为ICW4的标志
    SFNM:SFNM=1,特殊的全嵌套方式(Specific Full Nested Mode);SFNM=0,其它的优先级方式
    BUF: BUF=1,缓冲方式(Buffered),8259数据线经总线驱动器与系统数据总线相连。BUF=0,非缓冲方式,8259数据线直接与系统数据总线相连。
    M/S:主片/从片(Master/Slave)
    若BUF=1,M/S=1为主片,M/S=0为从片;若BUF=0,M/S不起作用。
    AEOI: AEOI=1,中断自动结束方式(AEOI,Automatic End of Interrupt);AEOI=0,其它结束方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8259初始化命令字(ICW1-ICW4) 的相关文章

  • 我的程序员之路进行中

    计划看的书 1 Windows程序设计 第5版珍藏版 1104页 2 Windows程序设计 第2版 王艳平 扫描版 490页 3 Windows核心编程 第5版 769页 4 竹林蹊径 深入浅出windows驱动开发 506页 5 Win
  • C语言与汇编——宏定义,头文件重复包含,内存申请和释放

    c文件 gt 替换 gt 编译 gt 链接 gt exe文件 typedef 只能给变量类型起别名 而 define可以给任何东西起别名 头文件重复包含问题 pragma once也能避免同一个头文件被包含 include 多次 一般由编译
  • windgb调试

    reference http hi baidu com lewutian blog item 191047882b9c399fa5c27261 html 调试前的必备工作 在开始调试前首先要做的工作是设置好符号 Symbols 路径 没有符
  • arm汇编指令详细整理及实例详解

    目录 一 简介 二 ARM 汇编指令说明 2 1 32位数据操作指令 2 2 32位存储器数据传送指令 2 3 32位转移指令 2 4 其它32位指令 三 实例讲解 3 1 MRS 3 2 MSR 3 3 PRIMASK 3 4 FAULT
  • IDA使用之旅(一)用IDA查看最简单的sys文件

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 本系列内容是我根据 知其所以然论坛 博主录制的学习视频 做的笔记 使用的IDA软件版本 IDA pro 5 5 参考下载地址 http w
  • 汇编语言 第3版 王爽 检测点答案及详细解析

    第一章 基础知识 检测点1 1 1 1个CPU的寻址能力为8KB 那么它的地址总线的宽度为 13位 2 1KB的存储器有 1024 个存储单元 存储单元的编号从 0 到 1023 3 1KB的存储器可以存储 8192 2 13 个bit 1
  • x86-64 汇编基础 ---- 记读 《CS: APP》

    x86 64 汇编基础 记读 CS APP 通常情况下 使用现代的优化编译器产生的代码至少与一个熟练的汇编语言程序员手工编写的代码一样有效 1 看懂汇编码 1 汇编码的格式 ATT格式 这是GCC OBJDUMP和其它一些工具的常用格式 由
  • libtool的作用及应用

    gcc library makefile archive command object 注意 本文为转载 原文也是转载 但是为了尊重他人得劳动成果 我将将转载网址贴出来 libtool常见于autoconf automake 单独用的例子很
  • 【学习记录】STM32利用定时器中断实现定时闪烁指示灯

    任务 定时闪烁指示灯 任务目标 掌握 CubeMX 软件配置定时器实现定时功能的方法 任务内容 控制开发板上的指示灯LED每隔1s闪烁 任务实现 使用的STM32芯片是STM32F407ZET6 第一步 设置高速时钟 设置LED 第二步 配
  • 汇编语言实现跑马灯 8051单片机

    通过一位 F 的16进制 转换为 2进制的 1111 然后移动一位 有三极管开关所改变 0的时候发光 1的时候变暗 所以一开始0FFH表示高8位为0 低8位为1111 1111 表示全暗 然后右移变为1111 1110亮第一个等 之后类推
  • 反汇编笔记

    1 OD中ctrl f9 运行到返回 就是运行到当前断点所在的函数末尾 retn xxx 处 若xxx 10 那么 10等于10进制的16 就是说这个函数有4个参数 一个参数默认是占4字节 所以就是retn 10 2 调试程序时 在OD内部
  • 北工大汇编——综合题(1)

    题目要求 统计字符数 从键盘输入一行字符 统计字母 空格 数字 其他宇符的个数 并显示 要求 提示输入一行宇符串 键盘输入宇符串 Enter 键结束输入 并换行显示结果 题目代码 DATAS SEGMENT 此处输入数据段代码 msg DB
  • ARM汇编快速入门

    本文主要分享如何快速上手ARM汇编开发的经验 汇编开发中常见的Bug以及Debug方法 用的Convolution Dephtwise算子的汇编实现相对于C 版本的加速效果三方面内容 前言 神经网络模型能够在移动端实现快速推理离不开高性能算
  • 机器语言->汇编语言->高级语言

    在硬件层面来看 计算机的运行就是高底电压的变化 这种高低电压的变化在早期是通过开关或插拔电线来控制的 计算机中用0和1来表示低电压和高电压 这些0和1的序列就可以控制计算机CPU进行各种动作 一组一组的0 1序列就是一个一个的指令 这些指令
  • 8259初始化命令字(ICW1-ICW4)

    8259A的中断操作功能很强 包括中断的请求 屏蔽 排队 结束 级联以及提供中断类型号和查询等操作 并且其操作的方式又有不同 它既能实现向量中断 又能进行中断查询 它可以用于16位机 也可用于8位机 因此 使用起来感到复杂且不好掌握 为此
  • 汇编——单字符输入输出+字符串输入输出(换行实现)

    单字符输入输出 默认采用ML6 11汇编程序 DATAS SEGMENT CHAR DB CHAR存储输入的字符 CHANGELINE DB 13 10 用来表示换行符 DATAS ENDS STACKS SEGMENT DB 128 DU
  • BFD库

    BFD库 2011 01 16 11 16 22 分类 LINUX 什么是 BFD Binary format descriptor 即二进制文件格式描述符 它是连接工具 ld 和二进制文件操作工具 bin util 实现对于目标文件操作的
  • 程序员的自我修养——链接、装载与库

    1 温故而知新 操作系统概念 北桥 连接高速芯片 系统调用接口 以软件中断的方式提供 如Linux使用0x80号中断作为系统调用接口 多任务系统 进程隔离 设备驱动 直接使用物理内存的弊端 地址空间不隔离 内存使用效率低 程序运行的地址不确
  • 9.用python写网络爬虫,完结

    前言 这是python网络爬虫的最后一篇给大家做个总结 且看且珍惜把 截止到目前 前几章本书介绍的爬虫技术都应用于一个定制网站 这样可以帮助我们更加专注于学习特定技巧 而在本章中 我们将分析几个真实网站 来看看这些技巧是如何应用的 首先我们
  • 《深入理解计算机系统》实验四Architecture Lab

    前言 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻请看 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻 我觉得这个文档对整个实验很有帮助 如果你的Y86 64环境还没安装好可以看

随机推荐

  • 基于Simulink的BPSK调制通信系统建模和仿真

    基于Simulink的BPSK调制通信系统建模和仿真 本文将介绍如何使用Matlab的Simulink工具进行BPSK调制通信系统的建模和仿真 BPSK Binary Phase Shift Keying 是一种常用的数字调制技术 适用于低
  • python的ndarray、series和dataframe类型转化

    文章目录 创建ndarray类型数据 使用list创建series series和ndarray转化 series转换为ndarray ndarray转换为series 使用list创建dataframe pd DataFrame 将nda
  • 因果推断-【The MineThatData E-Mail Analytics And Data Mining Challenge】思路分析与Python实现代码

    目录 一 数据集介绍 二 问题及分析思路 1 问题 2 分析思路 三 代码 一 数据集介绍 数据集来源于用户在网上的购物行为 涵盖了过去一年有购买行为的64000个用户 这些用户被用于电子邮件营销活动的实验分析 实验的目的是衡量哪个版本的电
  • 责任中心(成本中心、利润中心、收入中心、费用中心和投资中心)

    转帖自智库百科 http wiki mbalib com 责任中心 出自MBA智库百科 http wiki mbalib com 责任中心 Responsibility Center 目录 隐藏 1 什么是责任中心 2 责任中心的特征 3
  • QT 第四天

    一 设置一个闹钟 pro QT core gui texttospeech greaterThan QT MAJOR VERSION 4 QT widgets CONFIG c 11 The following define makes y
  • OSPF路由协议(二)

    作者介绍 作者 小刘在C站 每天分享课堂笔记 一起努力 共赴美好人生 夕阳下 是最美的绽放 目录 一 Router id 二 DR BDR 三 DR BDR 选举过程 四 ospf 度量值 cost 代价
  • YOLOv5模型改进策略源码示例

    YOLOv5模型改进策略源码示例 YOLO目标检测算法作为单阶段目标检测算法的代表在各个领域都有广泛的应用 在前几篇文章中我们已经对YOLO的Backbone Neck Head进行了较为详细的解读 这篇文章主要是从添加注意力机制来提升YO
  • Window安装Node.js npm appium Appium Desktop

    Window安装Node js npm appium appium Desktop 1 安装nodejs 参考链接 https blog csdn net weixin 42064877 article details 131610918
  • Linux 线程同步

    文章目录 一 线程同步介绍 同步与互斥概述 线程同步问题 二 互斥锁 为什么需要互斥锁 互斥锁 Mutex 介绍 互斥锁相关 API 死锁 DeadLock 三 读写锁 读写锁概述 读写锁相关 API 四 生产者与消费者模型 五 条件变量
  • linux最佳线程数

    最佳线程数 性能压测的情况下 起初随着用户数的增加 QPS会上升 当到了一定的阀值之后 用户数量增加QPS并不会增加 或者增加不明显 同时请求的响应时间却大幅增加 这个阀值我们认为是最佳线程数 为什么要找最佳线程数 1 过多的线程只会造成
  • 算法设计与分析: 6-3 最小权顶点覆盖问题

    6 3 最小权顶点覆盖问题 问题描述 给定一个赋权无向图 G V E 每个顶点 v V 都有一个权值 w v 如果 U V U V U subseteq V 且对任意 u v E 有 u U 或 v U 就称 U 为图 G 的一个顶点覆盖
  • Pycharm程序调试(Debug+断点)

    主要思路 利用断点 注 打断点之后 程序运行到断点的哪一行处 但此行并未执行 调试的过程分为三步 第一步 在你想要调试的地方 打上断点 第二步 使用调试模式来运行这个 python 程序 第三步 使用各种手段开始代码调试 一 图文教程 1
  • Tomcat架构解析以及设计借鉴

    Tomcat 发展这么多年 已经比较成熟稳定 在如今 追新求快 的时代 Tomcat 作为 Java Web 开发必备的工具似乎变成了 熟悉的陌生人 难道说如今就没有必要深入学习它了么 学习它我们又有什么收获呢 静下心来 细细品味经典的开源
  • 开源软件大集合

    http a note sourceforge net A Note 4 2 1 可在Windows桌面放置便笺 并可提供闹钟提醒功能 http www xs4all nl edienskeAbakt 0 9 能够以压缩方式对文档进行备份
  • llama.cpp LLM模型 windows cpu安装部署;运行LLaMA2模型测试

    参考 https www listera top ji xu zhe teng xia chinese llama alpaca https blog csdn net qq 38238956 article details 1301135
  • 设置linux-kali 2022语言为中文(保姆级图文)

    目录 友情提示 1 打开终端 2 打开设置 3 修改设置 4 重启生效设置 总结 欢迎关注 网络工程专业 系列 持续更新中 欢迎关注 网络工程专业 系列 持续更新中 在安装完 kali linux2022 时 操作系统默认语言为英文 初学者
  • 【论文阅读-TPAMI2021】Curriculum Learning(课程学习)综述

    简介 Curriculum learning CL 课程学习 是一种模型训练策略 通过先让模型学习简单数据后再学习困难数据的方式模拟学生进行课程学习的场景 通用的课程学习框架为Difficulty Measurer 困难程度评估 Train
  • 不懂Python装饰器,你敢说会Python?

    对于Python学习者 一旦过了入门阶段 你几乎一定会用到Python的装饰器 它经常使用在很多地方 比如Web开发 日志处理 性能搜集 权限控制等 还有一个极其重要的地方 那就是面试的时候 对 装饰器是面试中最常见的问题之一 实战入门 抛
  • webpack从入门到放弃(二:基本属性)

    本节介绍webpack五大核心概念 一 entry 入口 指示 Webpack 从哪个文件开始打包 webpack是根据依赖关系进行打包 以入口文件为起点 根据依赖关系形成依赖树 在生产模式打包时 根据tree shaking未引用的文件不
  • 8259初始化命令字(ICW1-ICW4)

    8259A的中断操作功能很强 包括中断的请求 屏蔽 排队 结束 级联以及提供中断类型号和查询等操作 并且其操作的方式又有不同 它既能实现向量中断 又能进行中断查询 它可以用于16位机 也可用于8位机 因此 使用起来感到复杂且不好掌握 为此