微机原理 实验报告
微机原理综合实验报告

滨江学院微机原理综合实验实验报告学生姓名学号专业信息工程班级2016级二O一八年十二月三十日微机原理综合实验实验一利用DEBUG调试程序调试程序段1、实验目的1)熟悉DEBUG有关命令的使用方法。
2)利用DEBUG掌握有关指令的功能。
3)利用DEBUG运行简单的程序段。
2、实验内容1)进入和退出DEBUG程序。
2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
3)利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。
3、实验准备1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。
2)作为例子,准备用A命令,输入在显示器上显示字符“S”的系统调用程序段。
3)阅读将AX左移9位的程序段。
4、实验步骤1)在DOS提示符下,进入DEBUG程序。
2)在DOS目录下启动DEBUG。
3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。
5、实验报告要求1)如何启动和退出DEBUG程序。
2)整理每个DEBUG命令使用的方法,实际示例及执行结果。
3)启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验结果:实验二分支程序实验1、实验目的1)掌握分支程序的设计方法。
2)掌握利用DEBUG修改参数、检查结果的方法。
3)掌握汇编语言源程序的编辑、汇编、连接及调试过程。
2、实验内容1)编写一个程序,显示AL寄存器中的两位十六进制数2)编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。
3、实验准备1)编写实验内容要求的两个程序。
2)写出调试以上程序,即修改程序参数,检查结果的操作方法。
3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。
微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理实验报告

微机原理实验报告实验一两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。
二、实验内容将两个多位十进制数相加, 要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1.DATA2为首的5个内存单元中(低位在前), 结果送回DATA1处。
三、程序框图图3-1四、参考程序清单程序名: XIANGJ.ASMDATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H;被加数DATA1END EQU $-1DATA2 DB 34H,35H,30H,38H,32H;加数DATA2END EQU $-1SUM DB 5 DUP(?) DATA ENDSSTACK SEGMENTSTA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXMOV SI,OFFSET DATA1ENDMOV DI,OFFSET DATA2ENDCALL ADDAMOV AX,4C00HINT 21HADDA PROC N EARMOV DX,SIMOV BP,DIMOV BX,05HAD1: SUB BYTE PTR [SI],30HSUB BYTE PTR [DI],30HDEC SIDEC DIDEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05HCLCAD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BLAAAMOV [SI],ALDEC SIDEC DILOOP A D2MOV SI,DXMOV DI,BPMOV BX,05HAD3: ADD BYTE PTR [SI],30HADD BYTE PTR [DI],30H DEC SIDEC DIDEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START五: 结果分析这次试验依次将相加数和被相加数存入AL, BL, 依次从低位向高位相加, 然后把结果放在内存中, 根据程序走向, 相加的结果依次放在内存地址DS:0000到DS:0004的位置上, 和我们实验预期结果一样。
微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。
二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。
三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开CPU窗口,观察CPU窗口各寄存器的变化。
打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。
在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。
2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。
3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。
4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。
5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。
四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。
微机原理综合实训报告

通过本次微机原理综合实训,使学生掌握微型计算机的基本组成、工作原理以及常用接口技术,培养学生动手实践能力、分析问题和解决问题的能力。
具体目标如下:1. 熟悉微型计算机的硬件组成,了解各部件的功能和相互关系。
2. 掌握微机原理与接口技术的基本知识,如总线、中断、DMA等。
3. 学会使用常用接口芯片,如8255、8259、8253等。
4. 能够进行简单的微机原理设计与实现。
二、实训内容1. 微型计算机硬件组成实验(1)了解微型计算机的基本组成,包括中央处理器(CPU)、存储器、输入输出设备、总线等。
(2)学习CPU的内部结构,了解指令系统、寻址方式等。
(3)了解存储器的分类、容量、速度等参数,学习存储器扩展技术。
(4)学习输入输出设备的工作原理,掌握常用接口芯片的使用方法。
2. 微机原理与接口技术实验(1)学习总线、中断、DMA等基本概念,了解其工作原理。
(2)学习8255并行接口芯片的应用,实现LED显示、按键输入等功能。
(3)学习8259中断控制器芯片的应用,实现中断处理。
(4)学习8253定时/计数器芯片的应用,实现定时功能。
3. 系统设计与实现(1)根据实训要求,设计一个简单的微机系统。
(2)确定系统硬件组成,选择合适的接口芯片。
(3)编写系统软件,实现系统功能。
(4)进行系统调试,确保系统稳定运行。
1. 实验准备(1)了解实验目的、内容和方法。
(2)查阅相关资料,掌握实验所需知识和技能。
(3)准备实验仪器和设备,如示波器、逻辑分析仪等。
2. 实验操作(1)按照实验步骤进行操作,观察实验现象。
(2)记录实验数据,分析实验结果。
(3)针对实验过程中遇到的问题,查阅资料、请教老师,解决问题。
3. 系统设计与实现(1)根据实训要求,确定系统设计方案。
(2)进行硬件选型,设计电路图。
(3)编写系统软件,实现系统功能。
(4)进行系统调试,确保系统稳定运行。
四、实训成果1. 完成微型计算机硬件组成实验,掌握微型计算机的基本组成和工作原理。
微机原理软件实验报告

实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。
2. 掌握汇编语言程序设计的基本方法。
3. 通过实验,加深对微机原理的理解。
二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。
2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。
四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。
微机原理实验报告书

实验一汇编语言源程序的建立及DEBUG命令DOS的基本操作:1.DIR 显示指定路径上所有文件或目录的信息2.CD 进入指定目录CD..返回上一节子目录CD\回根目录3.MD 建立目录4.RD删除目录5.DEL 删除文件6.DEBUG基本命令使用A:汇编命令,目录输入A 4000:0100 ;从4000:0100开始的单元装入命令U:反汇编命令,查看命令U 4000:0100 ;查看4000:0100开始的单元装入命令R:显示寄存器的内容R 显示所有寄存器的内容R AX ;显示并可修改指定寄存器的内容AX *** 前两位为AH的内容,后两位为AL的内容:;不修改寄存器的内容AX ***:1234 ;将AX寄存器的内容修改为1234,AL=34,AH=12IP:程序指针执行程序时,用R指令,先将程序指针指向程序起始地址R IPIP:***:0100 ;假定程序起始地址为0100D:显示存储单元内容D3000:0100 ;显示存储单元3000:0100开始的内容D;继续显示下一屏存储单元的内容E:修改存储单元的内容E 3000:0100 ;修改3000:0100开始的存储单元内容3000:0100 **12 **34 **56 **78 将: 3000:0100—3000:0103 单元的内容分别修改为:12 34 56 78T:执行单条指令T ;从当前IP地址处执行一条指令,显示所有寄存器内容,IP指针指向下一条指令。
6.8086基本指令的练习现有(DS)=3000H,(BX)=0100H,(SI)=0002H,(30100)=12H,(30101)=34H,(30102)=56H,(30103)=78H,(31200)=2AH,(31201)=4CH,(31202)=B7H,(31203)=65H。
下列每条指令执行后,AX的内容为多少?MOV AX,3000HMOV AX,BXMOV AX,[1200]HMOV AX,[BX]MOV AX,1100[BX]MOV AX,[BX][SI]MOV AX,1100[BX][SI]实验三两个多位十进制数相加的实验1 实验目的(1).学习数据传送和算术运算指令的用法。
微机原理_中断实验报告(3篇)

第1篇一、实验目的1. 理解中断系统的基本概念和工作原理。
2. 掌握中断源、中断向量、中断服务程序等基本概念。
3. 学习使用Keil软件进行中断程序的编写和调试。
4. 熟悉中断在微机系统中的应用。
二、实验原理中断系统是微机系统中重要的组成部分,它允许CPU在执行程序的过程中,响应外部事件或内部事件,从而实现多任务处理。
中断系统主要包括以下几个部分:1. 中断源:产生中断请求的设备或事件,如外部设备、定时器、软件中断等。
2. 中断向量:中断服务程序的入口地址,用于CPU在响应中断时找到相应的服务程序。
3. 中断服务程序:处理中断请求的程序,完成中断处理任务。
4. 中断优先级:不同中断源的优先级不同,用于确定中断响应的顺序。
三、实验设备与软件1. 实验设备:单片机实验板、计算机、Keil软件、Proteus仿真软件。
2. 实验软件:Keil uVision4、Proteus 8.0。
四、实验内容1. 外部中断实验(1)使用外部中断0(INT0)实现按键控制LED灯的亮灭。
(2)使用外部中断1(INT1)实现按键控制LED灯的闪烁。
2. 定时器中断实验(1)使用定时器0产生1秒的定时中断,实现LED灯的闪烁。
(2)使用定时器1产生1秒的定时中断,实现按键输入的计数。
3. 软件中断实验(1)使用软件中断实现按键输入的字符显示。
(2)使用软件中断实现按键输入的字符加密显示。
五、实验步骤1. 在Keil软件中创建一个新项目,选择合适的单片机型号。
2. 根据实验要求,编写中断服务程序,设置中断向量。
3. 在Proteus软件中搭建实验电路,包括单片机、按键、LED灯等。
4. 将Keil软件编译后的程序下载到单片机中。
5. 在Proteus软件中运行仿真,观察实验结果。
六、实验结果与分析1. 外部中断实验(1)按键按下时,LED灯亮;按键松开时,LED灯灭。
(2)按键按下时,LED灯闪烁;按键松开时,LED灯停止闪烁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理实验报告099074 姓名安徽工业大学计算机学院实验一存贮器读写实验一、实验内容对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~5FFH中。
二、实验步骤 l、将实验系统与PC机连接;2、在PC机上启功DJ-8086k软件,实验系统进入联机状态;3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过;4、运行程序。
5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中的内容和5000~53FFH中的内容应都是55AA。
三、实验程序清单CODE SEGMENT ;RAM、ASMASSUMECS:CODEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG1850hSTART: JMP START0BUFDB ?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c 6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOVCX,0200HRAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOVAX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffhcon1: push cx call disp pop cx loop con1 call buf2con2: call disp jmpcon2DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOVCL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CXDIS2: MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMPDIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H MOV BUF+1,02H MOV BUF+2,02H MOV BUF+3,05H MOV BUF+4,06H MOV BUF+5,17H RETBUF2: MOV BUF,17H MOVBUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RETCODE ENDSEND START四、实验总结通过该实验让我们了解了如何对存储器进行读写,写入存储器后,如何通过机器检查存储单元内的内容,通过该实验让我对计算机的存储器有了更进一步的认识。
实验二8259单级中断控制器实验一、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
二、实验步骤1、按实验原理图连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“ ”插孔和8259的3号中断IR7插孔相连,“ ”端初始为低电平;⑷8259的CS端接FF80H孔。
2、输入并运行实验程序,系统显示8259-1。
3、按动AN开关按钮,按满5次显示good。
三、程序清单CODE SEGMENT ;ASSUME CS:CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG12D0HSTART: JMP START0BUFDB ?,?,?,?,?,?intcnt db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c 6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0:CLDCALL BUF1CALL WRINTVER ;WRITE INTRRUPTMOVAL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOVDX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0DFHOUT DX,ALMOV intcnt,01H;TIME=1STIWATING: CALL DISP ;DISP8259-1JMP WATINGWRINTVER:MOV AX,0H MOV ES,AX MOV DI,0034H LEA AX,INTQ3 STOSW MOV AX,0000h STOSW MOV DI,003CH LEAAX,INTQ7STOSW MOV AX,0000h STOSW RETINTREEUP3:CLI push ax push bx push cx push dx MOV AL,INTCNT CALL CONVERS MOV BX,OFFSET BUF ;077BH MOV AL,10H MOV CX,05HINTRE0: MOV[BX],AL INC BX LOOP INTRE0 MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2 CALL BUF2 ;DISP:goodINTRE1: CALL DISP JMP INTRE1CONVERS: AND AL,0FH MOV BX,offset buf ;077AH MOV[BX+5],AL RETINTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRETINTREEUP7:CLI MOV AL,20H MOV DX,INTPORT1 OUT DX,AL callbuf3 ;disp:errINTRE3: CALL DISP JMP INTRE3DISP: MOVAL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2:MOV CX,00A0H LOOP $ POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUTDX,ALRETCODE ENDSEND START四、实验小结通过8259单级中断控制器实验,让我对8259中断控制器的接口方法和8259中断控制器的应用编程有了一定的了解。
实验三8255A并行口实验一、实验内容用8255做输出口,控制二个发光管亮灭,模拟交通灯管理。
二、实验步骤⒈在系统显示监控提示符“P、”时,按SCAL键。
⒉按实验原理图连好实验线路8255A:PB4-PB7对应红灯, PC0-PC3对应绿灯, PC4-PC7对应黄灯⒊在“P、”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。
三、实验程序清单CODE SEGMENT ;H8255-2、ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOAPT EQU0FF28HIOBPT EQU 0FF29HIOCPT EQU 0FF2AHORG11e0HSTART:MOV AL,82HMOV DX,IOCONPTOUT DX,ALMOV DX,IOBPTIN AL,DXMOV BYTE PTR DS:[0601H],ALMOV DX,IOCONPTMOV AL,80HOUT DX,ALMOV DX,IOBPTMOV AL,DS:[0601H]OR AL,0F0HOUT DX,ALMOVDX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY1IOLED0: MOVAL,00BMOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1ORAL,0F0HOUT DX,ALMOV CX,8HIOLED1: MOV DX,IOBPTMOVAL,DS:[0601H]AND AL,01111BOUT DX,ALCALL DELAY2ORAL,00000BOUT DX,ALCALL DELAY2LOOP IOLED1MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2MOV AL,00BOUT DX,ALCALL DELAY1CALL DELAY1OR AL,0F0HOUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01111BOUT DX,ALCALL DELAY2OR AL,00000BOUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0F0HOUT DX,ALCALL DELAY2JMP IOLED0DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOPDELA1POP CXRETCODE ENDSEND START四、实验小结通过该实验,让我掌握了如何通过8255控制发光二级管,以及发光二级管的工作原理。