计算机组成原理中断实验报告

合集下载

计算机组成原理实验报告-中断实验

计算机组成原理实验报告-中断实验

计算机组成原理实验报告-中断实验实验内容:实验实现方式可以任意选择,可以利用下列任意一种,或者自己设计1、下载DOSBOX和MASM32,利用汇编语言实现。

(1)实现利用21H(DOS)中断中的9号功能调用,在屏幕上显示一句话。

(2)编写0号中断处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回操作系统。

(3)写一段程序,将其地址填入中断向量表,使发生中断时,调用用户自己的程序(4)每隔一定时间在屏幕上显示一句话2、利用proteus里面的8086和8259或者8255等芯片及按键,模仿硬件电路。

并且设计其软件代码3、阅读一段Linux内核代码,分析其代码,要求涉及中断号,中断调用和开关中断。

程序至少要30行以上例如(1)Linux中,从启动BIOS到操作系统内核加载(2)从实模式到保护模式转变(3)设备环境初始化及激活进程0实验步骤与预习:1、计算机中数据是如何表示的?计算机中数据都是以二进制形式表示,以二进制信息单元0和1的形式表示。

实际数表示方法:符号(正负数)数值处理(数制转换)小数点的处理(定点浮点)机器数的表示方法:原码反码补码2、计算机中二进制数的加、减、乘、除四则运算如何实现?二进制加法和十进制加法相似,所不同的是十进制有十个码,“满十进一”,二进制只有两个数码0和1,“满二进一”。

进位规则是逢“2进1”数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增二进制的加法:即0 +0=0;0+1=1;1+0=1;1+1=10二进制的加法:即0 -0=0;1-1=1;1-0=1;10-1=1二进制的加法:即0 *0=0;0*1=0;1*0=0;1*1=1二进制的加法:即0 /1=0;1/1=1;3、运算器的基本结构和功能有哪些?运算器由:算术逻辑单元(ALU)、累加器(是一种暂存器,用来存储计算所产生的中间结果)、状态寄存器(体现当前指令执行结果,存放控制信息)、通用寄存器组等组成。

中断实验报告实验步骤

中断实验报告实验步骤

一、实验目的1. 了解中断的基本概念和作用。

2. 掌握中断处理程序的设计方法。

3. 熟悉中断控制器的工作原理。

4. 通过实验验证中断系统的功能。

二、实验原理中断是一种处理程序,当系统需要处理某个事件时,暂时中断当前程序的执行,转而执行中断处理程序。

中断处理程序执行完毕后,返回到被中断程序的原点继续执行。

中断系统由中断控制器、中断处理程序和中断请求源组成。

三、实验设备1. PC机一台2. 开发板一块3. 示波器一台4. 编译器一套四、实验步骤1. 实验环境搭建(1)将开发板插入PC机的USB接口。

(2)打开编译器,新建一个C语言项目。

(3)编写实验代码。

2. 编写中断处理程序(1)定义中断服务例程(ISR)函数。

(2)编写ISR函数,实现中断处理功能。

(3)在主函数中调用ISR函数。

3. 编写主函数(1)初始化中断控制器。

(2)设置中断向量表。

(3)启动中断控制器。

4. 编译与调试(1)将编写好的代码编译成可执行文件。

(2)将可执行文件烧写到开发板中。

(3)打开示波器,观察中断信号。

5. 实验验证(1)通过按键、串口或其他方式触发中断。

(2)观察示波器上的中断信号,验证中断处理程序是否正确执行。

五、实验结果与分析1. 实验结果通过实验,成功实现了中断系统的功能。

在触发中断后,示波器上出现了中断信号,表明中断处理程序已正确执行。

2. 实验分析(1)中断控制器初始化正确,中断向量表设置正确。

(2)ISR函数编写正确,能够正确处理中断事件。

(3)主函数调用ISR函数,实现了中断处理。

六、实验总结通过本次实验,掌握了中断的基本概念和作用,熟悉了中断处理程序的设计方法,了解了中断控制器的工作原理。

实验结果表明,中断系统能够正常工作,达到了实验目的。

七、实验改进与展望1. 在实验中,可以尝试使用不同类型的中断源,如定时器中断、串口中断等,以进一步验证中断系统的功能。

2. 可以研究中断嵌套处理,实现更复杂的中断处理流程。

中断实验实验报告分析

中断实验实验报告分析

一、实验背景中断是计算机系统中一种重要的机制,它允许操作系统在执行过程中,根据需要暂停当前任务,转而处理其他任务,从而提高系统的效率和响应速度。

本实验旨在通过模拟中断实验,了解中断的工作原理,分析中断在不同场景下的影响,并对中断进行优化。

二、实验目的1. 理解中断的基本概念和工作原理;2. 分析中断在不同场景下的影响;3. 掌握中断优化的方法。

三、实验内容1. 中断的产生与处理(1)实验目的:验证中断的产生与处理过程。

(2)实验步骤:① 编写中断服务程序(ISR);② 设置中断向量表;③ 模拟中断源产生中断请求;④ 检查中断是否被正确处理。

(3)实验结果:中断服务程序被成功调用,中断请求得到处理。

2. 中断嵌套(1)实验目的:分析中断嵌套对系统性能的影响。

(2)实验步骤:① 编写多个中断服务程序;② 设置中断优先级;③ 模拟中断嵌套场景;④ 分析中断嵌套对系统性能的影响。

(3)实验结果:中断嵌套对系统性能有一定影响,但合理设置中断优先级可以降低影响。

3. 中断屏蔽(1)实验目的:分析中断屏蔽对系统性能的影响。

(2)实验步骤:① 编写中断服务程序;② 设置中断屏蔽位;③ 模拟中断屏蔽场景;④ 分析中断屏蔽对系统性能的影响。

(3)实验结果:中断屏蔽可以有效防止中断请求干扰其他任务,但过度屏蔽会影响系统响应速度。

4. 中断优化(1)实验目的:研究中断优化的方法。

(2)实验步骤:① 分析中断性能瓶颈;② 优化中断服务程序;③ 改进中断优先级管理;④ 优化中断屏蔽策略。

(3)实验结果:通过优化,中断性能得到显著提升。

四、实验分析1. 中断的产生与处理实验结果表明,中断的产生与处理过程是可靠的。

在实际应用中,合理设置中断向量表和中断服务程序是保证中断正常工作的关键。

2. 中断嵌套实验表明,中断嵌套对系统性能有一定影响,但合理设置中断优先级可以降低影响。

在实际应用中,应根据具体场景选择合适的中断优先级,以平衡系统性能和响应速度。

计算机组成原理_中断实验

计算机组成原理_中断实验

实验五中断实验实验地点:格致A315实验日期:2016年12月29日一、实验目的学习和掌握中断产生、响应、处理等技术;二、实验说明及内容说明:1.要求中断隐指令中执行关中断功能,如果用户中断服务程序允许被中断,必须在中断服务程序中执行EI开中断命令。

2.教学机的中断系统共支持三级中断,由三个无锁按键确定从右到左依次为一、二、三级中断,对应的INT2、INT1、INT0的编码分别是01、10、11,优先级也依次升高。

这决定了它们的中断向量〔即中断响应后,转去执行的程序地址为XXX4、XXX8、XXXC;可以看到,每级中断实际可用的空间只有四个字节,故这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址。

3.用户需扩展中断隐指令、开中断指令、关中断指令、中断返回指令及其节拍。

内容:1.扩展中断隐指令。

2.扩展开中断指令EI、关中断指令DI、中断返回指令IRET。

3.确定中断向量表地址。

中断向量表是以XXX4H为首地址的一段内存区。

高12位由用户通过置中断向量用的插针〔在三个无锁按键下方确定。

三级中断对应的中断向量为XXX4H、XXX8H、XXXCH。

当有中断请求且被响应后,将执行存放在该中断的中断向量所指向的内存区的指令。

4.填写中断向量表。

在上述的XXX4H、XXX8H、XXXCH地址写入三条JR OFFSET 转移指令, OFFSET分别对应三段中断服务程序的相对地址。

但在本仿真终端中输入时,用户不需要计算偏移量,直接输入要转向的绝对地址即可。

5.编写中断服务程序。

中断服务程序可以放在中断向量表之后,中断服务程序可实现在程序正常运行时在计算机屏幕上显示与优先级相对应的不同字符;6.编写主程序。

可编写一死循环程序,等待中断;三、实验过程及步骤1.填写中断向量表。

〔1选择3级中断的中断向量为2104H、2108H、210CH。

〔2教学机中下方有一个12们波特开关,设置中断向量的高12位为:0010 0001 0000.开关向上为1,向下为0.〔3填写中断向量表:从2104H单元开始输入下面的程序:〔2104JR 2120 ;跳转到中断服务程序<2108> JR 2130<210C> JR 21402.编写中断服务程序该中断服务程序,先开中断,显示字符"BI"和对应的中断优先级"1"、"2"或"3"后,等待从键盘输入一个字符,在键盘输入一个字符后,显示该字符和字符"EI",然后退出当前中断服务程序,返回中断断点,继续执行。

计算机组成原理中断实验报告

计算机组成原理中断实验报告

计算机组成原理中断实验报告Document number:PBGCG-0857-BTDO-0089-PTT1998北京建筑大学2015/2016 学年第二学期课程设计课程名称计算机组成原理综合实验设计题目微程序控制器设计与实现系别电信学院计算机系班级计141学生姓名艾尼瓦尔·阿布力米提学号完成日期二〇一六年七月八日星期五成绩指导教师(签名)计算机组成综合实验任务书➢实验目的1.融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)。

2.理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立设计能力;3.掌握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立分析和解决问题的能力。

➢实验电路1. 微指令格式与微程序控制器电路2.微程序控制器组成仍然使用前面的CPU组成与机器指令执行实验的电路图,但本次实验加入中断系统。

这是一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。

中断屏蔽控制逻辑分别集成在2片GAL22V10(TIMER1 和TIMER2)中。

其ABEL语言表达式如下:INTR1 := INTR;= CLK1;IE := CLR & INTS # CLR & IE & !INTC;= MF;INTQ = IE & INTR1;其中,CLK1是TIMER1产生的时钟信号,它主要是作为W1—W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的MF。

INTS微指令位是INTS机器指令执行过程中从控制存储器读出的,INTC微指令位是INTC机器指令执行过程中从控制存储器读出的。

INTE是中断允许标志,控制台有一个指示灯IE显示其状态,它为1时,允许中断,为0 时,禁止中断。

当INTS = 1时,在下一个MF的上升沿IE变1,当INTC = 1时,在下一个MF 的上升沿IE变0。

计算机组成原理实验十

计算机组成原理实验十

上海大学 计算机学院《计算机组成原理实验》报告十姓名: 学号: 教师: 时间: 机位 : 报告成绩:实验名称: 中断机制和应用(综合实验)一、实验目的:1. 学习实验箱感知中断的硬件结构和工作原理。

2. 学习使用中断系统。

3. 学习使用扩展外设。

二、实验原理:1. 程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程序继续执行的过程成为“中断”。

中断同子程序调用有共同点:执行另一个程序,然后返回。

所以在调用另一个程序(中断服务子程序)时必须保存断点。

中断与子程序调用有一个根本区别:中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),而子程序调用时间是安排好的,由程序员写下的调用指令决定。

中断发生的“随机性”决定了“必须用硬件感知中断请求”、“不仅要保存断点,还必须保存现场”。

中断发生时间与正在运行的程序的无关性,使得整个系统在运行一个程序的同时,还能感知其它事件的发生!这是实时监控的技术基础、是多用户、多任务、多线程技术的关键点,因此是操作系统工作的前提,是计算机系统的“点睛”之笔!深刻理解中断系统是计算机专业人员用好计算机的必备知识!2. 实验箱的中断感知硬件:硬件的逻辑结构如下图。

EMRDP ICOEORCDCLKOROR 18 17 21 EMRD 16灯IREQCD QPC+1&IACKINT ①②③CK Vcc只有“中断返回”指令和复位操作使EINT为低电平,这个低电平作用到IREQ的SD端,使上面这个D触发器的Q端为1,作用到IACK的CD端使下面这个D 触发器的Q端输出0。

本课程称其为状态0。

系统复位结束或执行其他指令时,EINT为无效的高电平,这时在时钟CK驱动下,IREQ的Q端输出D端的INT状态。

当有中断请求时INT为0,则一个CK后Q端输出0,但这个0能否被CPU感知却要看①号“或门”是否允许它通过。

而“非取指”微指令有IREN=1,则②号“或门”输出1,于是IREQ的Q端无论输出0或1,①号“或门”总输出1,即不允许中断请求通过。

实验报告四中断系统实验

实验报告四中断系统实验

实验报告四中断系统实验实验报告四:中断系统实验一、实验目的本次中断系统实验的主要目的是深入理解计算机中断系统的工作原理和机制,掌握中断的处理过程,以及学会如何在实际编程中有效地运用中断来提高系统的性能和响应能力。

二、实验原理中断是指计算机在执行程序的过程中,当出现某种随机事件或异常情况时,暂停现行程序的执行,转而执行相应的中断处理程序,处理完后再返回原程序继续执行的过程。

中断系统主要由中断源、中断控制器和中断处理程序组成。

中断源可以是外部设备(如键盘、鼠标、打印机等)发送的信号,也可以是内部事件(如定时器溢出、算术运算错误等)产生的条件。

中断控制器负责对多个中断源进行优先级管理和分配,确定哪个中断请求能够被响应。

中断处理程序则是用于处理具体中断事件的一段代码。

在中断处理过程中,计算机需要保存当前程序的上下文(包括程序计数器、寄存器等),以便在中断处理完成后能够正确地恢复原程序的执行。

同时,中断处理程序需要尽快完成处理任务,以减少对系统性能的影响。

三、实验设备与环境本次实验使用的设备包括一台计算机、开发板以及相应的编程软件。

开发板上集成了中断控制器和相关的外部设备接口,以便进行中断实验的操作和观察。

编程软件采用了常见的集成开发环境(IDE),如 Keil、IAR 等,用于编写和调试中断处理程序。

四、实验步骤1、硬件连接首先,将开发板与计算机通过数据线连接,并确保连接稳定。

然后,根据实验要求,将外部设备(如按键、传感器等)正确连接到开发板的相应接口上。

2、软件开发(1)在编程软件中创建一个新的项目,并选择适合开发板的芯片型号。

(2)配置中断控制器的相关参数,如中断优先级、触发方式等。

(3)编写中断处理程序,在程序中实现对中断事件的具体处理逻辑。

例如,当按键被按下时,控制 LED 灯的亮灭;当传感器检测到特定值时,进行数据采集和处理。

(4)编写主程序,在主程序中初始化系统,并开启中断功能。

3、编译与下载完成程序编写后,对代码进行编译,确保没有语法错误和逻辑错误。

中断原理实验报告

中断原理实验报告

中断原理实验报告中断原理实验报告摘要:本实验旨在通过实际操作和观察,深入了解中断原理的工作机制和应用。

通过搭建实验电路和使用示波器等实验仪器,我们成功模拟了中断信号的产生和处理过程,并观察到了中断对程序执行的影响。

引言:中断是计算机系统中一种重要的机制,它能够打破程序的顺序执行,及时响应外部事件或内部异常。

中断机制的应用广泛,例如在操作系统中,中断用于处理外部设备的输入输出请求;在嵌入式系统中,中断用于实时处理各种事件。

因此,深入理解中断原理对于计算机科学和工程领域的学习和研究具有重要意义。

实验目的:1. 理解中断原理的工作机制;2. 学会搭建中断电路并进行实验操作;3. 观察中断信号对程序执行的影响。

实验器材和仪器:1. 电路板、电源线、示波器等;2. 电阻、电容、开关等元器件。

实验步骤:1. 搭建中断电路:按照实验指导书上的电路图,将所需的元器件正确连接在电路板上。

2. 连接示波器:将示波器正确接入电路,以便观察电路中的信号波形。

3. 开始实验:打开电源,启动程序,观察示波器上的波形变化。

4. 产生中断信号:通过按下开关等方式,产生中断信号,观察程序执行的变化。

5. 记录实验数据:记录示波器上的波形图,并记录中断信号对程序执行的影响。

实验结果:通过实验观察和数据记录,我们得出了以下结论:1. 中断信号的产生可以通过外部事件或内部异常引起,例如按下开关、时钟中断等。

2. 中断信号的处理过程包括保存现场、跳转到中断服务程序、执行中断服务程序、恢复现场等步骤。

3. 中断信号的处理会打断程序的正常执行流程,优先处理中断请求,提高了系统的响应速度和实时性。

4. 中断服务程序的编写需要考虑实时性和可重入性,以确保正确处理中断请求并不影响原程序的执行。

讨论与分析:中断机制在计算机系统中的应用非常广泛,它不仅可以提高系统的实时性和响应速度,还可以有效处理各种外部设备的输入输出请求。

在实验过程中,我们深入了解了中断原理的工作机制,并通过实际操作和观察,加深了对中断信号对程序执行的影响的理解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京建筑大学2015/2016 学年第二学期课程设计课程名称计算机组成原理综合实验设计题目微程序控制器设计与实现系别电信学院计算机系班级计141学生姓名艾尼瓦尔·阿布力米提学号完成日期二〇一六年七月八日星期五成绩指导教师(签名)计算机组成综合实验任务书➢实验目的1.融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)。

2.理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立设计能力;3.掌握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立分析和解决问题的能力。

➢实验电路1. 微指令格式与微程序控制器电路2.微程序控制器组成仍然使用前面的CPU组成与机器指令执行实验的电路图,但本次实验加入中断系统。

这是一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。

中断屏蔽控制逻辑分别集成在2片GAL22V10(TIMER1 和TIMER2)中。

其ABEL语言表达式如下:INTR1 := INTR;INTR1.CLK = CLK1;IE := CLR & INTS # CLR & IE & !INTC;IE.CLK= MF;INTQ = IE & INTR1;其中,CLK1是TIMER1产生的时钟信号,它主要是作为W1—W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的MF。

INTS微指令位是INTS机器指令执行过程中从控制存储器读出的,INTC微指令位是INTC机器指令执行过程中从控制存储器读出的。

INTE是中断允许标志,控制台有一个指示灯IE显示其状态,它为1时,允许中断,为0 时,禁止中断。

当INTS = 1时,在下一个MF的上升沿IE变1,当INTC = 1时,在下一个MF的上升沿IE变0。

CLR信号实际是控制台产生的复位信号CLR#。

当CLR = 0时,在下一个CLK1的上升沿IE变0。

当 CLR=1 且INTS = 0 且 INTC = 0时,IE保持不变。

INTR是外部中断源,接控制台按钮INTR。

按一次INTR按钮,产生一个中断请求正脉冲INTR。

INTR1是INTR经时钟CLK1同步后产生的,目的是保持INTR1与实验台的时序信号同步。

INTR脉冲信号的上升沿代表有外部中断请求到达中断控制器。

INTQ是中断屏蔽控制逻辑传递给CPU的中断信号,接到微程序控制器上。

当收到INTR脉冲信号时,若中断允许位INTE=0,则中断被屏蔽,INTQ仍然为0;若INTE =1,则INTQ =1。

为保存中断的断点地址,以便中断返回,设置了一个中断地址寄存器IAR。

第二节图4中的IAR(U19)就是这个中断地址寄存器,它是一片74HC374,有LDIAR和IAR_BUS#两个信号输入端,均连接至微程序控制器。

LDIAR信号的上升沿到达时,来自程序计数器PC的地址会置入IAR中。

IAR_BUS#为0时,保存在IAR中的断点地址会输出到数据总线DBUS上。

由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。

中断向量即中断服务程序的入口地址,在本实验仪中由8位数码开关SW7—SW0提供。

3.中断的检测、执行和返回过程微程序控制器每执行一条机器指令之后,执行下一条机器指令之前,先转到微地址0F处(见图12微程序流程图),在条件位P1=1时判断是否有中断请求INTQ。

如果没有INTQ,则继续正常的机器指令执行。

若检测到中断请求INTQ,首先发出关中断信号INTC、保存断点信号LDIAR,并且发出停机信号TJ,等待手动设置中断向量。

设置好SW7—SW0后,按QD按钮启动,机器将中断向量读入程序计数器PC中,从而转到中断服务子程序去执行。

执行一条机器指令IRET,从中断服务子程序返回时,发出IAR_BUS#信号,从中断地址寄存器IAR向数据总线DBUS输出断点地址,再从DBUS依次写入到R4、PC中,恢复执行被中断的程序。

发生中断时,关中断由硬件负责,而中断现场(寄存器堆中的寄存器,进位标志C)的保存和恢复由中断服务程序来处理。

➢实验任务(1)了解中断系统中每个信号的意义和变化条件,并将下面的主程序和中断服务程序手工汇编成十六进制机器代码,此项任务应在预习时完成。

主程序:中断服务程序:(2)参考CPU组成与机器指令执行实验,再加上中断系统,完成本次实验的线路连接。

接通电源之前应仔细检查接线,确认无误。

(3)将上述任务(1)的程序代码存入内存中,并根据需要设置通用寄存器组和内存相关单元的数据。

其中,寄存器R1的值应置为21H,以便程序循环执行。

(4)从地址20H执行程序,在程序运行中,按一次控制台的INTR。

进入中断后,用单拍(DP)方式执行,直到返回主程序为止。

列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0的值。

(5)重复执行(4)两次。

(一共执行3次)(6)将RAM中20H单元的内容由指令INTS改为INTC,重作(4),记录发生的现象。

六、实验步骤和实验结果1、实验程序主程序:中断服务程序:2、接线微程序控制器与数据通路之间的线可以通过选择开关直接选择。

将开关设置为“微程序”。

只需连接数据通路部分的线。

a、数据通路的LDIR接CER、LDPC接LDR4、LDDR1接LDDR2、M1接M2、LDAR1接LDAR2。

b、指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。

C、单脉冲DMC 接中断INTR选择开关拔至“微程序”3、存程序机器代码,设置通用寄存器R1、R2及内存相关单元的数据。

(1)、设置寄存器R1、R2的值根据要求,设置R1 = 21H,R2的值由实验者自定,假定为10H。

1)、令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。

令SWB = 1,SWA = 1,使实验系统处于寄存器加载工作方式KLD。

按CLR#按钮,使实验系统处于初始状态。

1)、在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。

该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储器单元的内容。

例如可将该地址设置为0FFH。

按一次QD按钮,将0FFH写入AR1和AR2。

2)在SW7—SW0上设置01H,作为通用寄存器R1的寄存器号。

按一次QD按钮,将01H写入IR。

3)在SW7—SW0设置21H,按一次QD按钮,将21H写入IR指定的R1寄存器。

4)在SW7—SW0上设置02H,作为通用寄存器R2的寄存器号。

按一次QD按钮,将02H写入IR。

5)在SW7—SW0设置10H,作为R2的值。

按一次QD按钮,将10H 写入IR指定的R2寄存器。

6)设置R1、R2结束,按CLR#按钮,使实验系统恢复到初始状态。

(2)、存程序机器代码。

本操作中,我们在10H单元存入01H(也可以是其他值),从20地址开始存10个机器代码:0B0H,58H,00H,00H,00H,00H,00H,00H,00H,84H。

从0A0H存入2个机器代码:30H,0A0H。

1)令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。

令SWB = 1,SWA = 0,使实验系统处于写双端口存储器工作方式KWRD。

按CLR#按钮,使实验系统处于初始状态。

2)置SW7—SW0为10H,按QD按钮,将10H写入AR1。

3)置SW7—SW0 为01H,按QD按钮,将01H写入存储器10H单元。

写主程序1)按CLR#按钮,使实验系统恢复初始状态。

2)置SW7—SW0为20H,按QD按钮,将20H写入AR1。

3)置SW7—SW0 为0B0H,按QD按钮,将0B0H写入存储器20H单元。

AR1自动加1,变为21H。

4)置SW7—SW0为58H,按QD按钮,将58H写入存储器21H单元。

AR1自动加1,变为22H。

5)重复进行下去,一直到将84H写入存储器29H单元。

按CLR#按钮,使实验系统恢复到初始状态。

写中断程序1)置SW7—SW0为0A0H,按QD按钮,将0A0H写入AR1。

2)置SW7—SW0 为30H,按QD按钮,将30H写入存储器0A0H单元。

3)置SW7—SW0 0A0H,按QD按钮,将0A0H写入存储器0A1H单元。

4)按CLR#按钮,使实验系统恢复到初始状态。

或用实验台监控系统或系统上端软件直接写入内容(3)从地址20H连续执行程序从地址20H连续执行程序,在程序运行中,按一次控制台的INTR。

进入中断后,用单拍(DP)方式执行,直到返回主程序为止。

列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0的值。

1)令DP = 0,DZ = 0,DB = 0,使实验系统处于连续运行状态。

2)置SW7—SW0为20H,作为程序的起始地址。

按QD按钮,启动程序从20H地址运行。

中断允许指示灯亮。

3)按INTR按钮,发出一个INTR中断脉冲,请求中断。

中断后硬件自动将中断地址存入中断地址寄存器IAR。

微程序地址应为25H。

4)置SW7—SW0为0A0H,这是中断程序的入口地址。

将DP由置0改为置1。

按一次QD按钮,将0A0H送入程序计数器PC。

微程序地址应为26H。

5)按一次QD按钮,进行取指微操作。

微程序地址应为05H。

6)按一次QD按钮,进行置数微操作。

微程序地址应为13H。

7)按一次QD按钮,进行R0 & R0 操作,这时微程序地址应为38H。

观察DBUS总线的值,即为R0的值。

8)按一次QD按钮,进行写回微操作。

微程序地址应为34H。

9)按一次QD按钮,进行判定有无中断请求INTQ微操作。

微程序地址应为0FH。

10)按一次QD按钮,进行取指微操作。

微程序地址应为05H。

11)按一次QD按钮,进行从中断程序返回主程序微操作。

微程序地址应为1AH。

这时观察PC地址,即中断地址。

12)按一次QD按钮,进行判有无新的中断操作。

微程序地址为0FH。

13)按一次QD按钮,进行取指微操作。

微程序地址为05H。

此刻,程序已返回主程序。

由于按下INTR按钮的时间对主程序而言,是随机的,具有不确定性,因此各次中断地址、R0会具有不同的值。

将RAM中20H单元的内容由指令INTS改为INTC,重作(4),记录发生的现象。

由于INTC是关中断指令,因此将不会发生中断。

(4)控制存储器代码表1.微程序控制器信号表2.拓展控制器信号表➢实验结果1、单拍执行程序(SWC=0,SWB=0,SWA==0;DP=1,DZ=0,DB=0)初值:R1=11H,R2=22Ha、XOR R1,R2 执行结果R1 = 33H、R2=02Hb、INC R1,R2 执行结果R1 = 34H、R2=02Hc、DEC R1,R2 执行结果R1 = 33H、R2=02Hd、F=A+B R1,R2 执行结果R1 = FFH、R2=02H七、实验分析与总结通过这次实验,首先我懂得了什么叫中断,同时学会了中断的调用。

相关文档
最新文档