资源描述:
《《微机原理与接口技术》实验报告2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《微机原理与接口技术》实验报告2学号:_____________________姓名:_____________________班级:_____________________华东理工大学信息学院计算机系2012年11月6《微机原理与接口技术》实验报告2学号:姓名:班级:成绩:实验名称:选择结构程序、循环结构程序及子程序设计实验地点:所使用的工具软件及环境:TASM、TLINK、TD一、实验目的:1.学习转移指令、比较指令及测试指令;2.掌握利用转移指令、比较指令和测试指令设计单分支、双分支和多分支选择汇编程序的方法;3.学习L
2、OOP、LOOPZ、LOOPNZ循环指令的功能;4.掌握循环程序的三种设计方法,了解多重循环程序的设计要点。5.掌握子程序的定义、调用及返回方法;6.熟悉主程序与子程序间几种参数传递方法;7.深刻理解子程序的调用与返回对堆栈的影响;二、实验内容:1、下列程序完成对分段函数进行计算的功能,X的值从键盘输入,Y的值送显示器输出。但程序中有部分错误,请修改其中错误。MODELSMALLINCLUDEYLIB.HDATAMESS1DB0DH,0AH,'InputvalueofXplease:$'MESS2DB0DH,0AH,'Y=:$'
3、CODESTART:MOVAX,@DATAMOVDS,AXLEADX,MESS1CALLREADINTCMPAX,-2JGEL2L1:SUBAX,3JMPDONEL2:CMPAX,3JGL3ADDAX,AXADDAX,6JMPDONEL3:MOVAX,2DONE:LEADX,MESS2CALLWRITEINTMOVAX,4C00H6INT21HENDSTART1、下列程序实现下列功能:求20元素无符号字数组ARRAY中最小的奇数,存入ODD单元,如果不存在奇数,将ODD单元清零。请将程序补充完整,并回答问题。.MODELSMAL
4、L.DATAARRAYDW56,12,88,126,5,16,32,99,72,18DW116,34,92,32,156,42,816,16,15,218ODDDW?.CODESTART:MOVAX,@DATAMOVDS,AXMOVBX,0MOVODD,65535LEASI,ARRAYMOVCX,20AGAIN:MOVAX,[SI]TESTAX,1JZSKIPINCBXCMPAX,ODDJGSKIPMOVODD,AXSKIP:ADDSI,2LOOPAGAINCMPBX,0JNZDONEMOVODD,0DONE:MOVAX,4C0
5、0HINT21HENDSTART问题:(1)程序执行后,变量ODD的存储单元偏移地址为__0032H____,内容为___5____。(2)程序执行后,(SI)=__0032H___,(BX)=_______3________。3、下面程序求某数据区中无符号数据最大值,上机运行该程序,观察程序执行时堆栈的变化,并画出以下6个堆栈状态图。(1)CALLMAX指令执行之前;(2)CALLMAX指令执行之后;(3)保护现场之后;(4)恢复现场之后;(5)RET2指令执行之后;(6)执行指令POPSMAX之后。DATASEGMENTBU
6、FDW98,34,897,345,678,21345,67,2COUNTEQU($-BUF)/2SMAXDW?DATAENDSCODESEGMENT6ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEAAX,BUFPUSHAXMOVAX,COUNTPUSHAXCALLMAXPOPSMAXMOVAH,4CHINT21HMAXPROCPUSHBPMOVBP,SPMOVSI,[BP+6]MOVCX,[BP+4]MOVBX,[SI]DECCXMAX1:ADDSI,2CMPBX,[SI]JAEN
7、EXTMOVBX,[SI]NEXT:LOOPMAX1MOV[BP+6],BXPOPBPRET2MAXENDPCODEENDSENDSTARTFFF0HFFF2HFFF4HFFF6HFFF8HFFFAHFFFCH0008HFFFEH0000H0000H(1)CALLMAX执行之前FFF0HFFF2HFFF4HFFF6HFFF8HFFFAH0010HFFFCH0008HFFFEH0000H0000H(2)CALLMAX执行之后FFF0HFFF2HFFF4HFFF6HFFF8H0000HFFFAH0010HFFFCH0008HFFFE
8、H0000H0000H(3)保护现场之后6FFF0HFFF2HFFF4HFFF6HFFF8HFFFAH0010HFFFCH0008HFFFEH0000H0000H(4)恢复现场之后FFF0HFFF2HFFF4HFFF6HFFF8HFFFAHFFFCHFFFEH5