微机原理实验报告-两个多位十进制数相加的实验等.doc_第1页
微机原理实验报告-两个多位十进制数相加的实验等.doc_第2页
微机原理实验报告-两个多位十进制数相加的实验等.doc_第3页
微机原理实验报告-两个多位十进制数相加的实验等.doc_第4页
微机原理实验报告-两个多位十进制数相加的实验等.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理实验报告 班级: 学号: 姓名: 实验一 两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。三、程序流程图图 3-1四、参考程序清单DATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H;被加数DATA1END EQU $-1DATA2 DB 34H,35H,30H,38H,32H;加数DATA2ENDEQU $-1SUM DB 5 DUP(?)DATA ENDSSTACK SEGMENTSTA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOVSI,OFFSET DATA1ENDMOVDI,OFFSET DATA2ENDCALLADDAMOVAX,4C00HINT21HADDAPROCNEARMOVDX,SI MOVBP,DIMOVBX,05HAD1: SUBBYTE PTR SI,30HSUBBYTE PTR DI,30HDECSIDECDIDECBXJNZAD1MOVSI,DX MOVDI,BP MOVCX,05HCLCAD2:MOVAL,SIMOVBL,DIADCAL,BLAAA MOVSI,AL DECSIDECDILOOPAD2MOVSI,DXMOV DI,BPMOVBX,05HAD3: ADDBYTE PTR SI,30H ADDBYTE PTR DI,30HDECSIDECDIDECBXJNZAD3RETADDAENDPCODEENDSENDSTART五、实验结果分析我们计算的结果是:84256他们结果是一样的。六、实验心得 通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。实验二 排序实验一、实验目的掌握用汇编语言编写排序程序的思路和方法。巩固在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 将指定内存出开始的数据(最多为4位数)按从大到小的顺序排列。第一个数字表示数据的个数(不是要比较的数值!)。三、程序流程图图 3-2四、程序清单DATA SEGMENTADDR DW 8,234,35,67,876,54,39,765,237DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AXMOVAX,STACKMOVSS,AXMOV SP,TOP MOVCX,WORD PTR ADDR0DEC CXLOOP1: MOVDI,CXMOV BX,2LOOP2: MOV AX,WORD PTR ADDRBX CMP AX,WORD PTR ADDRBX+2 JGE CCC XCHG AX,WORD PTR ADDRBX+2 MOV WORD PTR ADDRBX,AXCCC: ADD BX,2 LOOP LOOP2 MOV CX,DI LOOP LOOP1EXIT: MOV AX,4C00H INT 21HCODE ENDSEND START五、实验结果分析六、实验心得 通过这次的实验,对于微机实验我渐入佳境,开始逐步了解了他的结构和调试的方法。但是对于它中间的过程还是不太熟悉,还需要自己努力的学习,增加自己的知识含量,也希望自己越来越好。实验三 自编程序上机调试一一、实验目的 掌握用汇编语言编写程序的思路和方法。巩固在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 选课本或作业题中题目上机调试。 用乘法指令实现32位二进制数与16位二进制数相乘。 首先把被乘数第八位和高八位分别与乘数相乘,高八位乘得结果左移16位与第八位乘得结果相加即为结果。三、程序框图程序入口低16位相乘高16位相乘对应项相加程序出口四、程序源代码DATASEGMENTDATAXDW1001H,2001HDATAYDW2001HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,1000HMOVSI,OFFSETDATAXMOVDI,DATAYMOVAX,SIMULDIMOVBX,AXMOVBX+2,DXMOVAX,SI+2MULDIADDBX+2,AXADDBX+4,DXMOVAH,4CHINT21HCODEENDSENDSTART五、实验结果运行:结果在DS:1000中六、实验心得 这是自己第一次写,开始写不出来,只能去翻阅课本或上网查阅资料,希望能从中获得一些帮助,最后看到了这个题目,于是自己就编了一个自己尝试,可惜程序缺点很多,最后去网上仔细的研究,才敲定了这个实验。实验四 自编程序上机调试二一、实验目的掌握用汇编语言编写程序的思路和方法。巩固在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 选课本或作业题中题目上机调试。 设有两个8个字节长的BCD码数据BCD1及BCD2。BCD1数以1000H为首地址在内存中顺序存放;BCD2数以2000H为首地址在内存中顺序存放。要求相加后结果顺序存放在以2000H为首地址的内存区中(设结果BCD数仍不超过8个字节长)。三、程序流程图四、程序源代码DATASSEGMENTORG1000HBCD1 DB01H,02H,03H,04H,05H,06H,07H,88HBCD2 DB11H,12H,13H,14H,15H,16H,17H,18HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART: MOVAX,DATAS MOVDS,AX MOVBX,0 MOVCX,8 CLCAGAIN:MOVAL,BX+1000H ADCBX+2000H,AL DAA INCBX LOOPAGAIN MOVAH,4CH INT21H CODESENDSENDSTART五、实验结果运行: BCD1DB01H,02H,03H,04H,05H,06H,07H,88H BCD2DB11H,12H,13H,14H,15H,16H,17H,18H结果如上:DS:2000H为首地址的连续八个字节单元中 六、实验心得考虑两个8个字节长的BCD码相加,首先根据地址要求将数据放在对应的地址单元中,然后做加法,BCD码相加要用到调整指令,结果才为正确的BCD数。实验中要有全局观念,这样才能更好地做好这件事。实验五 8255并行I/O口实验一、实验要求利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输入,PB口作输出。二、实验目的1、了解8255芯片结构及编程方法。2、了解8255输入/输出实验方法。三、预备知识8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。这24根端口线全部为双向三态。三个端口可分二组来使用,可分别工作于三种不同的工作方式。四、实验原理图及连线1、本实验主要用到的模块:8255模块、开关量输出模块、01指示模块、实验译码单元等;2、PA0-PA7分别接开关量输出模块S0-S7对应的插座;3、PB0-PB7分别接01指示模块DO71-DO78对应的插座;4、8255A的片选/CS接地址译码单元的2A0-2A7;5、数据线XD0XD7接系统数据线区的任一插座。图 3-3五、实验内容将实验的线路连接好后,编程,将8255的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。六、程序清单L8255_CMD EQU 2A3HL8255_PA EQU 2A0HL8255_PB EQU 2A1HL8255_PC EQU 2A2HCODE SEGMENT ASSUME CS:CODE,DS:CODEBEGIN: MOV CX,0FFHAA: LOOP AA MOV DX,L8255_CMD MOV AL,9CH ;10011000 OUT DX,AL NOP NOP NOP NOP NOPBB: MOV DX,L8255_PA IN AL,DX XOR AL,0FFH MOV DX,L8255_PB OUT DX,AL JMP BBCODE ENDS END BEGIN七、程序框图开始延时置8255工作方式读8255PA口置8255PB口见图3-4。图 3-4八、实验步骤1、参照图中的内容连好线;2、运行上位机软件,装载并运行相应程序即可(联机请参考程序8255.asm)。注意:同学们自己编写程序时,8255的/CS连线可以接地址译码单元的其他信号,其它连线相同。如果用的端口与本实验不一样,也可以改变IO口的连线。九、仪器配置 ZY15MicInt12BB微机原理及接口实验箱 一台。十、实验现象当读到某个开关处于高电平时,对应的发光二极管就会亮。十一、思考题根据程序列出实验中8255的各个端口的地址,如果8255的/CS改接译码信号280H,其它信号不变,那么对应的端口地址又是多少?回答:8255命令口2A3H,PA口2A0H,PB口2A1H,PC口2A2H;8255的/CS改接译码信号280H后,对应的端口地址为:8255命令口283H,PA口280H,PB口281H,PC口282H。十一、实验结果分析 按照实验指导连接电路之后将所有的开关都置于低电平,然后就所有的指示灯都没有亮了,观察开关置高电平这个动作所代表的代码进入AL,然后跟ff进行异或运算,运算后低电平时指示灯亮。所以开关需要置高电平,如果置低电平的话,指示灯熄灭。12、 实验心得体会 本次实验是第一次把编程应用到实践中。首先,我们必须要了解硬件工作方式,包括芯片的各引脚的作用,还有他与CPU的链接方式,只有我们搞懂这些东西我才可以对它编程。在电路链接前,应该关掉硬件电源,然后再打开电源等准备好了后,在链接程序,编译,调试等,但是我们第一次做这次实验不知什么原因,就是程序装载不进去,最后无功而返,到了第二次来做下个实验成功后,这实验也随之而做出来了,我们仔细的考虑了一下,应该是我们上次的试验箱存在某些问题,但以我们现在的水平也检测不出来,只能等我们将来看是否有机会来修复这些试验箱。实验六 ADC0809A/D转换实验一、实验目的1、加深理解逐次逼近法模数转换器的特征和工作原理;2、掌握A/D转换芯片与8088/86的接口方法;3、了解A/D芯片ADC0809转换性能及编程方法。二、预备知识A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,做为转换完成的信号。三、实验原理说明及连线 1、本实验的位置在实验箱的“ADC0809模块”;2、本实验用芯片ADC0809的片选地址为2B8H,实验箱上已固定好,不需要再连线;3、将该实验模块的CLOCK和“信号源模块”的1MHz信号连接起来;4、用排线将“系统数据总线输出单元”中的任意一组数据线和本实验模块的“ADC0809:XD0-XD7”连接起来;5、将通道0模拟量输入端IN0接模拟信号产生电路模块中的电位器R093的中心抽头,然后将R093的两端一端接地,另一端接VCC(+5V)。图 3-8四、实验内容利用电位器输出一个幅值可调的直流电压信号,送入ADC0809的通道0,将转换后的结果在屏幕上显示出来,并验证它与输入电压的关系。五、实验步骤1、确认连接好线路;2、装载运行程序。六、实验框图图 3-9七、仪器配置ZY15MicInt12BB微机原理及接口实验箱 一台八、实验现象当用户扭动电阻器时,屏幕将显示相应的数值。 九、思考题按图中的连接线路,输入一个3V的模拟信号,输出的数字信号的理论值是多少,在实验箱上验证该值的正确性。回答:理论值是99H。实验中用的ADC0809的IN0的地址是什么?回答:地址是2B8H。十、程序清单CODE SEGMENTASSUME CS:CODESTART:MOV DX,2B8H ;2B0H-2B7HMOV AL,00HOUT DX,ALCALL DELAYIN AL,DXCALL SHOWCALL DELAYJMP STARTSHOW PROC NEAR PUSH DX PUSH AX MOV CL,4 SHR AL,CL AND AL,0FH CALL H2C JC SHO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论