微机原理实验报告-两个多位十进制数相加的实验等

上传人:龙*** 文档编号:687133 上传时间:2017-05-09 格式:DOC 页数:21 大小:4.16MB
返回 下载 相关 举报
微机原理实验报告-两个多位十进制数相加的实验等_第1页
第1页 / 共21页
微机原理实验报告-两个多位十进制数相加的实验等_第2页
第2页 / 共21页
微机原理实验报告-两个多位十进制数相加的实验等_第3页
第3页 / 共21页
微机原理实验报告-两个多位十进制数相加的实验等_第4页
第4页 / 共21页
微机原理实验报告-两个多位十进制数相加的实验等_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《微机原理实验报告-两个多位十进制数相加的实验等》由会员分享,可在线阅读,更多相关《微机原理实验报告-两个多位十进制数相加的实验等(21页珍藏版)》请在金锄头文库上搜索。

1、微机原理实验报告班级: 学号: 姓名: 实验一 两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在 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;加数DATA2

2、END EQU $-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,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AX MOV SI,OFFSET DATA1ENDMOV DI,OFFSET DATA2ENDCALL ADDAMOV AX,4C00HINT 21HADDA PROC NEARMOV

3、 DX,SI MOV 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,SIMOV BL,DIADC AL,BLAAAMOV SI,ALDEC SIDEC DILOOP AD2MOV SI,DXMOV DI,BPMOV BX,05HAD3: ADD BYTE PTR SI,30HADD BYTE PTR DI,30HDEC SIDEC DIDEC BXJNZ AD3RETADDA ENDPCOD

4、E ENDSEND START五、实验结果分析我们计算的结果是:84256他们结果是一样的。六、实验心得通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。实验二 排序实验一、实验目的掌握用汇编语言编写排序程序的思路和方法。巩固在 PC 机上建立、汇编、链接、调试和运行汇编语言程序的过程。二

5、、实验内容 将指定内存出开始的数据(最多为 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,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXMOV SP,

6、TOP MOV CX,WORD PTR ADDR0DEC CXLOOP1: MOV DI,CXMOV BX,2LOOP2: MOV AX,WORD PTR ADDRBXCMP AX,WORD PTR ADDRBX+2JGE CCCXCHG AX,WORD PTR ADDRBX+2MOV WORD PTR ADDRBX,AXCCC: ADD BX,2LOOP LOOP2MOV CX,DILOOP LOOP1EXIT: MOV AX,4C00HINT 21HCODE ENDSEND START五、实验结果分析六、实验心得通过这次的实验,对于微机实验我渐入佳境,开始逐步了解了他的结构和调试的方法。但

7、是对于它中间的过程还是不太熟悉,还需要自己努力的学习,增加自己的知识含量,也希望自己越来越好。实验三 自编程序上机调试一一、实验目的掌握用汇编语言编写程序的思路和方法。巩固在 PC 机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 选课本或作业题中题目上机调试。用乘法指令实现 32 位二进制数与 16 位二进制数相乘。 首先把被乘数第八位和高八位分别与乘数相乘,高八位乘得结果左移 16 位与第八位乘得结果相加即为结果。 三、程序框图 四、程序源代码DATA SEGMENT DATAX DW 1001H,2001H DATAY DW 2001H DATA ENDS CODE SE

8、GMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,1000H MOV SI,OFFSET DATAX MOV DI,DATAY MOV AX,SI MUL DI MOV BX,AX MOV BX+2,DX MOV AX,SI+2 MUL DI 程序入口低 16 位相乘高 16 位相乘程序出口对应项相加ADD BX+2,AX ADD BX+4,DX MOV AH,4CH INT 21H CODE ENDS END START五、实验结果运行:结果在 DS:1000 中六、实验心得这是自己第一次写,开始写不出来,只能去

9、翻阅课本或上网查阅资料,希望能从中获得一些帮助,最后看到了这个题目,于是自己就编了一个自己尝试,可惜程序缺点很多,最后去网上仔细的研究,才敲定了这个实验。实验四 自编程序上机调试二一、实验目的掌握用汇编语言编写程序的思路和方法。巩固在 PC 机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容 选课本或作业题中题目上机调试。设有两个 8 个字节长的 BCD 码数据 BCD1 及 BCD2。BCD1 数以 1000H 为首地址在内存中顺序存放;BCD2 数以 2000H 为首地址在内存中顺序存放。要求相加后结果顺序存放在以 2000H 为首地址的内存区中(设结果 BCD 数仍不超过

10、8 个字节长)。 三、程序流程图 四、程序源代码 DATAS SEGMENTORG 1000HBCD1 DB 01H,02H,03H,04H,05H,06H,07H,88HBCD2 DB 11H,12H,13H,14H,15H,16H,17H,18HDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATAS MOV DS,AXMOV BX,0MOV CX,8CLCAGAIN:MOV AL,BX+1000HADC BX+2000H,ALDAA INC BXLOOP AGAINMOV AH,4CHINT 21HCODES EN

11、DSEND START五、实验结果运行: BCD1 DB 01H,02H,03H,04H,05H,06H,07H,88H BCD2 DB 11H,12H,13H,14H,15H,16H,17H,18H结果如上:DS:2000H 为首地址的连续八个字节单元中 六、实验心得考虑两个 8 个字节长的 BCD 码相加,首先根据地址要求将数据放在对应的地址单元中,然后做加法,BCD 码相加要用到调整指令,结果才为正确的 BCD 数。实验中要有全局观念,这样才能更好地做好这件事。 实验五 8255 并行 I/O 口实验一、实验要求利用 8255 可编程并行口芯片,实现输入/输出实验,实验中用 8255PA

12、 口作输入,PB 口作输出。二、实验目的1、了解 8255 芯片结构及编程方法。2、了解 8255 输入/输出实验方法。三、预备知识8255 是 Intel 公司生产的与 Intel8080/8085 系列的 MPU 配套的可编程外围接口电路,简称 PPI。它有 A、B、C 三个八位端口寄存器,通过 24 位端口线与外部设备相连,基中 C 口可分为上半部和下半部。这 24 根端口线全部为双向三态。三个端口可分二组来使用,可分别工作于三种不同的工作方式。四、实验原理图及连线1、本实验主要用到的模块:8255 模块、开关量输出模块、01 指示模块、实验译码单元等;2、PA0-PA7 分别接开关量输

13、出模块 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 SEGMENTASSUME CS:CODE,DS:CO

14、DEBEGIN: MOV CX,0FFHAA: LOOP AAMOV DX,L8255_CMDMOV AL,9CH ;10011000OUT DX,ALNOPNOPNOPNOPNOPBB: MOV DX,L8255_PAIN AL,DXXOR AL,0FFHMOV DX,L8255_PBOUT DX,ALJMP BBCODE ENDSEND BEGIN七、程序框图见图 3-4。图 3-4八、实验步骤1、参照图中的内容连好线;2、运行上位机软件,装载并运行相应程序即可(联机请参考程序 8255.asm)。开始延时置 8255 工作方式读 8255PA 口置 8255PB 口注意:同学们自己编写程序时,8255 的/CS 连线可以接地址译码单元的其他信号,其它连线相同。如果用的端口与本实验不一样,也可以改变 IO 口的连线。九、仪器配置ZY15MicInt12BB 微机原理及接口实验箱 一台。十、实验现象当读到某个开关处于高电平时,对应的发光二极管就会亮。十一、思考题根据程序列出实验中 8255 的各个端口的地址,如果 8255 的/CS 改接译码信号280H,其它信号不变,那么对应的端口地址又是多少?回答:8255 命令口2A3H,PA 口2A0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号