微机原理课程设计--微机原理与应用课程实验报告

微机原理课程设计--微机原理与应用课程实验报告

ID:9626010

大小:444.00 KB

页数:22页

时间:2018-05-04

微机原理课程设计--微机原理与应用课程实验报告_第1页
微机原理课程设计--微机原理与应用课程实验报告_第2页
微机原理课程设计--微机原理与应用课程实验报告_第3页
微机原理课程设计--微机原理与应用课程实验报告_第4页
微机原理课程设计--微机原理与应用课程实验报告_第5页
资源描述:

《微机原理课程设计--微机原理与应用课程实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、微机原理与应用课程实验报告实验分工:报告人(签名)姓名:学号:班级:同组人(签名)姓名:学号:班级:实验时间:2014年12月课程设计1.设计概述本设计在以上四个实验的基础上,利用所学的知识完成以下编程任务(1)在数据段首址为0100H开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;(2)将上述源区内容传送到目的内存区2(首址为1100H)中;(3)检验上述传送过程是否正确,如有错误,在紧跟内存区2后的第一个字节开始写入ASCII码“ERROR”,否则写入“OK”。(4)用冒泡法将上述内存区2的数据,按从小到大的次序重新排列,排列后存放在内存区3

2、(开始地址为2100H)。(5)将上述内存区2和内存区3的第100个数据分别乘以2,并转为BCD码,保存在各自存储区的末尾。再将上述两个BCD码相乘,其结果保存在内存区1的末尾处。1.程序流程图1.程序代码codesegmentassumecs:codeds:dataDATA1db'ERROR'DATA2db'OK'start:movax,0100hmovdsax;定义数据段地址movsi0100hmovcx10h;循环次数movax0fh;初始数值intram:mov[si],axincsidecaxloopintram;依次存入15-0movsi1100hmovcx1

3、0hmovbx0100h;设置断点处fil:moval[]bxmov[si],al;循环置数incsiincbxloopfil;内存区1的数据传送到内存区2movsi1100h;设置断点处movdi0100hmovcx,16;对比内存区1的数据与内存区2的数据是否相同movcx,16movsi,0100hmovbx,1100htemp:moval,[si]movdl,[bx]cmpal,dljneformincsiincbxlooptemp;数据如果都相同,说明上述传输过程正确movsi,offsetDATA3movdi,1110hmovbl,0movcx,2dym:mo

4、vbl,cs:[si]mov[di],blincsiincdiloopdymnopjmpstart2;如果有一个数据不相同,说明上述传输过程不正确form:movsi,offsetDATA2movdi,1110hmovbl,0movcx,5dym1:movbl,cs:[si]mov[di],blincsiincdiloopdym1;将内存区2数据搬移到内存区3中start2:movsi,1100hmovcx,0010hmovbx,2100hmoval,0movcx,16fil2:moval,[si]mov[bx],alincsiincbxloopfil2nop;用冒泡法将

5、内存区3的数据按从小到大重新排列start1:movbl,0movcx,16movsi,2110hdecsideccxagain:moval,[si]cmpal,[si-1]jaenextxchgal,[si-1]mov[si],almovbl,1next:decsiloopagaincmpbl,0jnestart1nopmovsi,1109hmoval,[si]movcl,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成BCD码mov[1112h],almovsi,2109hmoval,[si]movcl

6、,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成BCD码mov[2110h],al;两个BCD码相乘,其结果保存在内存区1的末尾处。movsi,1112hmovah,[si]movcl,4shrah,clmoval,ahmovdl,10muldl;结果在al中movdl,[si]anddl,0fhaddal,dlmovbl,al;resultmovsi,2110hmovah,[si]movcl,4shrah,clmoval,ahmovdl,10muldlmovdl,[si]anddl,0fhaddal,d

7、l;结果在al中mulblmov[0110h],alcodeendsendstart4.程序调试(1)从0100H开始依次存入二进制数15到0。(2)将上述源区内容传送到目的内存区2(首址为1100H)中;(3)显示OK(4)冒泡法排序,排列后存放在内存区3(开始地址为2100H)。(5)将上述内存区2和内存区3的第100个数据分别乘以2,并转为BCD码,保存在各自存储区的末尾。再将上述两个BCD码相乘,其结果保存在内存区1的末尾处。内存区2内存区3内存区1末尾处从以上截图中,可以看出,所做设计完全符合相关要求。5.分析与总结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。