微机原理与接口技术 实验报告
微机原理及接口技术实验报告

《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。
2. 继续熟悉实验操作软件的环境及使用方法。
二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。
三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。
(2) 编译连接无误后,进入调试环境,进行程序的调试。
按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。
如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。
图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。
数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。
继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。
图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。
如图1-3所示。
图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。
2. 掌握运算类指令对各状态标志位的影响及测试方法。
微机原理与接口技术实验报告一

微机原理与接口技术实验报告(一)实验内容一:1、实验目的: 考察对内存寻址方式、8086指令的理解内存中的数据排列如上表所示,各寄存器内容如下DS=2100H ES=2111H SS=2000H BX=106H CX=3H SI=106H DI=12H BP=1100H SP=1100HFR=3402H (FR 标志寄存器,FR 中的DF -字符串操作方向位为1)在执行下列指令后,写出寄存器AX中的内容 0) pop ax; AX= 1) mov ax,bx; AX= 2) mov ax,[bx];AX= 3) mov ax,102H;AX= 4) mov ax,[102H];AX= 5) mov ax,6[SI];AX= 6) lea ax,6[BX][DI];AX= 7) mov ax,[BP+DI];AX= 8) rep lodsw;AX= , 还需写出SI=2、实验内容: (1)开始菜单下选择运行,输入cmd 回车,在开启的窗口中输入debug 后回车,进入程序输入环境(2)利用r 指令显示当前各寄存器储值并按照上文中的寄存器值进行修改 结果如下:物理地址 内容(字节) 物理地址 内容(字节)21100H BEH 21110H 99H 21101H 02H 21111H 00H 21102H 01H 21112H E8H 21103H 8BH 21113H 7EH 21104H 44H 21114H E0H 21105H 02H 21115H 74H 21106H 29H 21116H 06H 21107H 44H 21117H E8H 21108H 04H 21118H 17H 21109H 9CH 21119H 01H 2110AH 50H 2111AH ACH 2110BH E6H 2111BH EBH 2110CH 99H 2111CH 34H 2110DH C6H 2111DH 00H 2110EH 06H 2111EH 30H 2110FHE8H2111FH0BH(3)d指令查看21100H——2111FH内存单元的内容(4)e指令对该段内存单元进行赋值(5)a指令按顺序输入要求中列出的指令(6)u指令进行反汇编(7)t指令(跟踪命令)逐条运行指令,观察记录指令运行结果3、实验结果0) pop ax; AX=02be1) mov ax,bx; AX=01062) mov ax,[bx];AX=44293) mov ax,102H;AX=01024) mov ax,[102H];AX=8b015) mov ax,6[SI];AX=c6996) lea ax,6[BX][DI];AX=011e7) mov ax,[BP+DI];AX=7ee88) rep lodsw;AX=4429, SI=0108实验内容二:1、实验目的:熟悉masm for windows 软件的应用,体会汇编程序的编写、编译、执行及调试等各个环节。
微机与接口技术实验报告

微机与接口技术实验报告微机与接口技术实验报告引言微机与接口技术是计算机科学中的重要领域,它涉及到计算机与外部设备之间的通信和数据传输。
本实验报告旨在介绍微机与接口技术的基本概念、实验过程和结果,以及对实验结果的分析和讨论。
一、实验目的本实验旨在通过设计和实现一个简单的数据输入输出接口,加深对微机与接口技术的理解。
具体目标包括:1. 理解接口技术的基本原理和工作方式;2. 掌握接口电路的设计和实现方法;3. 学会使用编程语言控制接口电路进行数据输入输出。
二、实验原理1. 接口技术的基本原理接口技术是计算机与外部设备之间进行数据传输的关键。
通过接口电路,计算机可以与各种外部设备进行通信,实现数据的输入和输出。
接口电路通常由硬件和软件两部分组成,硬件部分负责物理连接和信号转换,而软件部分则负责控制和管理数据传输。
2. 接口电路的设计和实现接口电路的设计需要考虑多个因素,包括外部设备的接口标准、数据传输速率、数据格式等。
常用的接口标准包括串行接口(如RS-232)和并行接口(如Centronics接口)。
设计接口电路时,需要根据具体需求选择合适的接口标准,并合理设计电路结构和信号处理方式。
3. 编程语言控制接口电路为了实现数据的输入和输出,需要使用编程语言控制接口电路。
常用的编程语言包括C、C++和Python等。
通过编写相应的程序,可以控制接口电路进行数据传输,并实现与外部设备的交互。
三、实验过程1. 硬件设计与连接根据实验要求,设计并连接适当的硬件电路,包括接口芯片、电阻、电容等。
确保电路连接正确,且与计算机的接口兼容。
2. 软件编程使用C语言编写程序,实现对接口电路的控制。
程序应能够实现数据的输入和输出,并确保数据的正确传输和处理。
3. 实验操作根据实验要求,进行相应的实验操作。
包括数据输入和输出测试、数据传输速率测试、数据格式转换测试等。
记录实验过程中的数据和结果。
四、实验结果分析1. 数据输入输出测试通过实验操作,测试接口电路的数据输入和输出功能。
微机原理与接口技术实验报告

微机原理与接口技术实验报告引言微机原理与接口技术是计算机科学与技术专业的一门重要课程,通过实验的方式来深入理解微机原理和接口技术的原理和应用。
本实验报告将详细介绍我们在实验中所学到的内容和实验结果。
一、实验目的微机原理与接口技术实验的主要目的是让学生通过实验来了解和掌握微机系统的结构与工作原理,以及接口技术的基本原理和应用。
通过实验,我们可以加深对微机原理和接口技术的理解,并能够熟练操作相应的实验设备和软件。
二、实验内容本次实验主要包括以下几个方面的内容:1. 微机系统的组成与原理:了解微机系统的基本组成部分,包括微处理器、存储器、输入输出设备等,并学习它们的工作原理和相互之间的联系。
2. 微机系统的调试与测试:学习使用调试工具和测试设备来验证微机系统的正确性和稳定性,通过调试和测试来发现和排除系统中的问题。
3. 接口技术的原理与应用:了解各种接口技术的原理和应用,包括并行接口、串行接口、USB接口等,学会设计和实现简单的接口电路。
4. 接口电路的设计与调试:通过实际设计和调试接口电路,加深对接口技术原理的理解,并能够解决实际问题。
三、实验过程及结果在实验中,我们首先学习了微机系统的基本结构和工作原理,并通过实际操作,搭建了一个简单的微机系统。
通过调试和测试,我们验证了系统的正确性和稳定性。
接着,我们学习了各种接口技术的原理和应用。
我们以并行接口为例,设计了一个简单的并行接口电路,并通过实验验证了其正确性。
同时,我们还学习了串行接口和USB接口的原理,并了解了它们在实际应用中的重要性。
在接口电路的设计和调试过程中,我们遇到了一些问题,例如信号传输的稳定性、接口电路的兼容性等。
通过分析和调试,我们逐步解决了这些问题,并取得了令人满意的实验结果。
四、实验总结通过本次实验,我们深入了解了微机原理和接口技术的基本原理和应用。
通过实际操作和调试,我们不仅掌握了微机系统的组成和工作原理,还学会了设计和实现简单的接口电路。
微机原理与接口技术实验报告_6

《微机原理与接口技术》实验报告班级:组员:实验二 74HC138译码器实验1、编写程序:使用82C55的PC0、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
实验源程序:.MODEL TINYCon_8255 EQU 0F003H ;8255控制口PC_8255 EQU 0F002H ;8255 PC口.STACK 100.CODESTART: MOV DX,Con_8255MOV AL,80HOUT DX,AL ;8255初始化,PC口作输出用MOV DX,PC_8255MOV AL,0START1: OUT DX,ALCALL DelayINC ALJMP START1Delay PROC NEAR ;延时Delay1: XOR CX,CXLOOP $RETDelay ENDPEND START实验三 8259A 中断控制器实验一、实验目的与要求了解8259A 的内部结构、工作原理;了解8259A 与8088的接口逻辑;掌握对8259A 的初始化编程方法,了解8088是如何响应中断、退出中断的。
复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验设备STAR 系列实验仪一套、PC 机一台 三、实验内容1、编制程序:拨动单脉冲开关,“”送给8259A 的IR0,触发中断,8088计数中断次数,显示于G5区的数码管上四、实验原理图45CS 1WR 2RD 3D74D65D56D47D38D29D110D011CAS012CAS113GND 14CAS215SP/EN 16INT 17IR018IR119IR220IR321IR422IR523IR624IR725INTA 26A027VCC 288259U28CS RD WR D7D0D1D2D3D4D5D6SP/EN INTIR0IR1IR7IR2123487651KR96A0VCC INTA(0F000H)CS1INTA(B2)INTR五、实验步骤1、连线说明:B3区:CS 、A0 —— A3区:CS1、A0 B3区:INT 、INTA —— ES8688:INTR 、INTA B3区:IR0 —— B2区:单脉冲E5区:CS 、A0 —— A3区:CS5、A0 E5区:CLK —— B2区:2M E5区:A 、B 、C 、D—— G5区:A 、B 、C 、D2、运行程序3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。
微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的:本次实验旨在通过实际操作,加深对微机原理与接口技术的理解,掌握接口技术的基本原理和应用方法,提高学生的动手能力和实际应用能力。
实验内容:1. 学习并掌握微机原理与接口技术的基本知识;2. 了解并熟悉常见的接口技术及其应用;3. 进行实际操作,设计并完成一个简单的接口电路。
实验仪器与设备:1. 个人电脑;2. 电子元件,电阻、电容、集成电路等;3. 实验板、示波器、示教电脑等。
实验步骤:1. 阅读相关的微机原理与接口技术的教材,了解基本原理;2. 学习常见的接口技术,例如并行接口、串行接口等;3. 进行实际操作,设计一个简单的接口电路,包括硬件设计和软件编程;4. 调试电路,确保接口电路能够正常工作;5. 编写实验报告,总结实验过程和实验结果。
实验结果与分析:经过实际操作,我们成功设计并完成了一个简单的接口电路。
在实验过程中,我们深入理解了微机原理与接口技术的相关知识,掌握了接口技术的基本原理和应用方法。
通过调试电路,我们验证了接口电路的正常工作,加深了对接口技术的理解。
结论:本次实验使我们更加深入地了解了微机原理与接口技术,提高了我们的动手能力和实际应用能力。
通过设计和完成接口电路,我们对接口技术有了更加直观的认识,为今后的学习和工作打下了坚实的基础。
总结:微机原理与接口技术是计算机专业的重要课程,通过实验学习,我们不仅加深了对知识的理解,还提高了动手能力和实际应用能力。
希望同学们能够认真对待每一次实验,不断提升自己的能力,为未来的发展打下坚实的基础。
至此,本次微机原理与接口技术实验报告完毕。
微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。
一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。
根据显示屏上的自检信息,可以判断计算机硬件的工作状态。
2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。
首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。
在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。
通过观察实验结果,判断串口通信是否正常。
3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。
首先,将并行口接口连接到计算机主机。
然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断并口通信是否正常。
4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。
首先,将USB接口连接到计算机主机。
然后,在计算机中安装相应的驱动程序。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断USB接口是否正常工作。
5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。
首先,将计算机连接到局域网中的其他计算机。
然后,进行相应的设置,包括IP地址、子网掩码等。
通过编写程序,实现计算机之间的数据交互。
观察实验结果,判断网络接口是否正常工作。
三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。
通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。
微机原理与接口技术实验报告_5

实验二初级程序的编写与调试实验一、实验目的1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出.3、掌握各种寻址方法以及简单指令的执行过程.二、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换.请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试.程序:MOV AX,3000MOV BX,5000MOV SP,2000PUSH AXPUSH BXPOP AXPOP BXHLT2.设DS=当前段地址,BX=0300H,SI=0002H请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入OAH,OBH,OCH,ODH,OEH.在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?-E 300 0A,0B,0C,0D,0E-AMOV BX,0300MOV SI,0002MOV AX,BXMOV AX,0304MOV AX,[0304]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI] HLT3.设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成. 程序:MOV AX,0002MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXMOV CL,1SHL AX,CLHLT实验四加法及判断程序的编写与调试一、实验目的1.熟练掌握编写汇编语言源程序的基本方法和基本框架.2.学会编写顺序结构,分支结构和循环结构的汇编程序3.掌握程序中数据的产生与输入输出的方法.二、实验内容1.用汇编语言编写一个加法程序:1325+9839请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出.程序:DATA SEGMENTDATA1 DB '5','2','3','1'DATA2 DB '9','3','8','9'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1LEA DI,DATA2MOV CX,4MOV AH,0 NEXT:MOV AL,[SI]ADC AL,[DI]ADC AL,AHMOV AH,0AAAADD AL,30HMOV [DI],ALINC DIINC SILOOP NEXTMOV CX,5ADD AH,30HMOV [DI],AH NEXT1:MOV DL,[DI]MOV AH,02INT 21HDEC DILOOP NEXT1MOV AH,4CHINT 21H CODE ENDSEND START2.假设有一组数据:5,-4,0,3,100,-51,请编写一程序,判断:每个数是否大于0?等于0?还是小于0?并输出其判断结果,即即:1当X>0Y=0当X=0-1 当X<0程序:DATA SEGMENTDATA1 DB 5, -4, 0 ,3,100,-51STRING1 DB'Y=1','$'STRING2 DB'Y=0','$'STRING3 DB'Y=-1','$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1MOV CX,6NEXT: MOV AL,[SI]CMP AL,0JZ NEXT1JNS NEXT2JS NEXT3NEXT1: MOV DX,OFFSET STRING2MOV AH,09HINT 21HJMP NEXT4NEXT2: MOV DX,OFFSET STRING1MOV AH,09HINT 21HJMP NEXT4NEXT3: MOV DX,OFFSET STRING3MOV AH,09HINT 21HNEXT4: INC SILOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START实验五大小写字母互换程序的编写与调试一、实验目的进一步熟悉汇编语言源程序的编写方法及宏汇编程序的使用方法二、实验内容设内存数据区有大小写混合英文ASCII码字母: ‘AbCdEfGChinaAgriculturalUniversity’。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号:姓名:实验一8259中断控制器应用实验一、实验目的1.掌握PC机中断处理系统的基本原理。
2. 掌握可编程中断控制器8259的应用编程方法。
二、实验内容1.PC机内中断实验。
使用单次脉冲模拟中断产生。
验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。
2.PC机内中断嵌套实验。
使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。
3.扩展多中断源查询方式应用实验。
利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。
三、实验步骤1.实验1-1:PC机内中断应用实验(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。
改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。
(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下:DA TA SEGMENTMESS DB 'IRQ10 ',0DH,0AH, '$'DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TASTART: MOV AX, CSMOV DS, AXMOV DX,OFFSET INT10MOV AX,2572H ;设置IRQ10对应的中断向量INT 21HIN AL,21H ;读取中断屏蔽寄存器AND AL,0F3H ;开放IRQ3中断和从片OUT 21H,ALIN AL,0A1H ;从片的中断屏蔽寄存器AND AL,0FBH ;开放IRQ10中断OUT 0A1H,ALMOV CX,10STIWAIT: JMP W AITINT10: MOV AX, DATA ;中断服务程序MOV DS, AXMOV DX, OFFSET MESSMOV AH, 09 ;在屏幕上显示每次中断的提示信息INT 21HMOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, ALLOOP NEXTIN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字OR AL, 08H ;关闭IRQ3中断OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器STI ;置中断标志位MOV AH, 4CH ;返回DOSINT 21HNEXT: IRET ;中断返回CODE ENDSEND START调用程序代码,观察实验现象,屏幕显示截图如下:2.实验1-2:PC机内中断嵌套实验实验要求:(1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因:A.按下连接IRQ的单次脉冲按键,屏幕上会显示10个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现象;按下IRQ时屏幕上会显示10个3,此时按下IRQ10,会直接在屏幕上显示10个10,然后结束后再显示剩余的3B.按下连接IRQ10的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3的单次脉冲按键,观察现象。
在屏幕上显示10个10的过程中按下IRQ无反应,等到10个10全部显示完毕后才再显示10个3出现这种现象的原因是IRQ10的中断优先级高于IRQ3屏幕截图:(2)程序所有代码及注释:DA TA SEGMENTDA TA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASTART:.386CLIMOV AX,CSMOV DS,AXMOV DX,OFFSET INT10 ;采用间接修改法,设置中断向量MOV AX,2572H ;设置IRQ10对应的中断向量INT 21HMOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量MOV AX,250BH ;设置IRQ3对应的中断向量INT 21HIN AL,21H ;读中断屏蔽寄存器,21H是该寄存器的端口号AND AL,0F3H ;开放中断,允许从片和IRQ3OUT 21H,ALIN AL,0A1H ;读中断屏蔽寄存器,0A1H是该寄存器的端口AND AL,0FBH ;开放中断IRQ10OUT 0A1H,ALMOV CX,10 ;记中断循环次数为10次STIWAIT: JMP W AITINT10: CLI ;中断服务程序PUSHADPUSHFDMOV CX,10 ;记中断循环次数为10次NEXT10_1:MOV DX,31HMOV AH,02H ;输出DLINT 21HMOV DX,30HMOV AH,02H ;输出DLINT 21HMOV DX,20H ;发出EOI结束中断到PC内主片的地址20HMOV AH,02H ;输出DL,3INT 21HCALL DELAY1 ;等待LOOP NEXT10_1MOV DX,0DHMOV AH,02H ;输出DL,‘ ’INT 21HMOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口MOV AH,02H ;输出DL,发生中断后输出10INT 21HMOV AL,20H ;将中断屏蔽字送到中断屏蔽寄存器OUT 0A0H,AL ;从片OUT 20H,AL ;主片POPFD ;关中断,出栈,返回POPADSTIIRETINT3: CLI ;中断服务程序PUSHADPUSHFDMOV CX,10 ;记中断循环次数为10次NEXT3_1:MOV DX,33HMOV AH,02H ;输出DLINT 21HMOV DX,20H ;发出EOI结束中断到PC内主片的地址20HMOV AH,02H ;输出DL,3INT 21HCALL DELAY1 ;等待LOOP NEXT3_1MOV DX,0DHMOV AH,02H ;输出DL,‘ ’INT 21HMOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口MOV AH,02H ;发生中断输出DL,10INT 21HMOV AL,20HOUT 20H,AL ;将中断屏蔽字送到中断屏蔽寄存器OUT 0A0H,ALPOPFD ;出栈,关中断,返回POPADSTIIRETDELAY1 PROC ;控制等待部分PUSHADPUSHFDMOV CX,0FHDELAY_LOOP1:MOV BX,0FFFFHDELAY_LOOP2:DEC BXNOPJNZ DELAY_LOOP2LOOP DELAY_LOOP1POPFDPOPADDELAY1 ENDPCODE ENDSEND START3.实验1-3:扩展多中断应用实验调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259工作原理填写并验证,然后将所填内容写在实验报告中,并分析所填数据的形成原理。
屏幕截图:程序代码及与案例说明:;*****************************************************************; 8259中断查询方式应用实验;请根据所学原理推断横线处需填写的源代码;*****************************************************************I8259_1 EQU 2B0H ; 8259的ICW1端口地址I8259_2 EQU 2B1H ; 8259的ICW2端口地址I8259_3 EQU 2B1H ; 8259的ICW3端口地址,ICW3,ICW4,OCW1都写入奇地址中I8259_4 EQU 2B1H ; 8259的ICW4端口地址O8259_1 EQU 2B1H ; 8259的OCW1端口地址O8259_2 EQU 2B0H ; 8259的OCW2端口地址,OCW2,OCW3写入偶地址O8259_3 EQU 2B0H ; 8259的OCW3端口地址MES1 DB 'YOU CAN PLAY A KEY ON THE KEYBOARD!',0DH, 0AH, 24HMES2 DD MES1MESS1 DB 'HELLO! THIS IS INTERRUPT * 0 *!',0DH,0AH,'$'MESS2 DB 'HELLO! THIS IS INTERRUPT * 1 *!',0DH,0AH,'$'MESS3 DB 'HELLO! THIS IS INTERRUPT * 2 *!',0DH,0AH,'$'MESS4 DB 'HELLO! THIS IS INTERRUPT * 3 *!',0DH,0AH,'$'MESS5 DB 'HELLO! THIS IS INTERRUPT * 4 *!',0DH,0AH,'$'MESS6 DB 'HELLO! THIS IS INTERRUPT * 5 *!',0DH,0AH,'$'MESS7 DB 'HELLO! THIS IS INTERRUPT * 6 *!',0DH,0AH,'$'MESS8 DB 'HELLO! THIS IS INTERRUPT * 7 *!',0DH,0AH,'$'DATA ENDSSTACKS SEGMENTDB 100 DUP(?)STACKS ENDSSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKS, ES:DATA.386START: MOV AX,DATAMOV DS, AXMOV ES, AXMOV AX, STACKSMOV SS, AXMOV DX, I8259_1 ;初始化8259的ICW1MOV AL, 13H ;边沿触发、单片8259、需要ICW4,查表得到控制字OUT DX,ALMOV DX,I8259_2 ;初始化8259的ICW2MOV AL,0B0HOUT DX,ALMOV AL,03HOUT DX,ALMOV DX, O8259_1 ;初始化8259的中断屏蔽操作命令字MOV AL, 000H ;打开屏蔽位,将全部屏蔽位打开OUT DX,ALQUERY: MOV AH,1 ;判断是否有按键按下INT 16HJNZ QUIT ;有按键则退出MOV DX,O8259_3 ;向8259发送查询命令MOV AL,6CH ;01101100OUT DX,ALIN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应,响应后对应位置0JZ QUERY ;没有响应则继续查询AND AL,07HCMP AL,00HJE IR0ISR ;若为IR0请求,跳到IR0处理程序CMP AL,01HJE IR1ISR ;若为IR1请求,跳到IR1处理程序CMP AL,02HJE IR2ISR ;若为IR2请求,跳到IR2处理程序CMP AL,03HJE IR3ISR ;若为IR3请求,跳到IR3处理程序CMP AL,04HJE IR4ISR ;若为IR4请求,跳到IR4处理程序CMP AL,05HJE IR5ISR ;若为IR5请求,跳到IR5处理程序CMP AL,06HJE IR6ISR ;若为IR6请求,跳到IR6处理程序CMP AL,07HJE IR7ISR ;若为IR7请求,跳到IR7处理程序JMP QUERYIR0ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS1 ;显示提示信息MOV AH,09INT 21HJMP EOIIR1ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS2 ;显示提示信息MOV AH,09INT 21HJMP EOIIR2ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS3 ;显示提示信息MOV AH,09INT 21HJMP EOIIR3ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS4 ;显示提示信息MOV AH,09INT 21HJMP EOIIR4ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS5 ;显示提示信息MOV AH,09INT 21HJMP EOIIR5ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS6 ;显示提示信息MOV AH,09INT 21HJMP EOIIR6ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS7 ;显示提示信息MOV AH,09INT 21HJMP EOIIR7ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS8 ;显示提示信息MOV AH,09INT 21HEOI:MOV DX,O8259_2 ;向8259发送中断结束命令MOV AL, 20H ;00100000OUT DX, ALJMP QUERYQUIT: MOV AX,4C00H ;结束程序退出INT 21HCODE ENDSEND START实验二8254定时/计数器应用实验一、实验目的1. 掌握8254 的工作方式及应用编程。