资源描述:
《微机原理汇编语言上机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三次上机实验报告一.实验目的1. 熟练掌握汇编语言程序设计的方法及上机步骤。2. 掌握算术运算指令的应用。3. 掌握子程序的设计方法。4. 掌握DOS功能的调用方法。二.实验仪器586微机一台三.实验内容有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。编程要求及提示:[1]参加排序的数据及个数由学生自己定义。[2]要将排序前的数组和排序后的数组在屏幕上显示出来。四.给出实验内容对应的源程序及流程N=50STACKSEGMENTSTACK'STACK'DW100HDUP(?)TOPLABELWORDSTACKENDSDATASEGMENTDATABUFDWNDBNDUP
2、(?)ORIGINALDB13,10,13,10,'THEORIGINALDATA:$'ORDEREDDB13,10,10,13,'THEORDEREDDATA:$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXLEASP,TOP;随机数据MOVCX,DATABUFLEASI,DATABUF+2MOVBL,12MOVAL,14L:MOV[SI],ALINCSIADDAL,BLLOOPLLEADX,ORIGINALMOVAH,9
3、INT21HCALLDISPAL;下面给数据排序程序MOVCX,DATABUFDECCXLEASI,DATABUF+2ADDSI,CX;SI指向数据区末地址L1:PUSHCXPUSHSIL2:MOVAL,[SI]CMPAL,[SI-1]JBENOXCHGXCHGAL,[SI-1]MOV[SI],ALNOXCHG:DECSILOOPL2POPSIPOPCXLOOPL1LEADX,ORDEREDMOVAH,9INT21HCALLDISPALEXITPROC:MOVAH,4CH;结束程序MOVAH,1INT21HDISPALPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXPUSHDI
4、LEADI,DATABUF+2MOVCX,NDISPAL2:MOVAL,[DI]SHRAL,1SHRAL,1SHRAL,1SHRAL,1CALLCHANG;------------------------------------------------MOVAH,2MOVDL,ALINT21HMOVAL,[DI]ANDAL,0FHCALLCHANG;-------------------------------------------------MOVAH,2MOVDL,ALINT21HMOVAH,2MOVDL,20HINT21H;为了让结果看得清楚,让显示的数用空格空开INCDILOOPDI
5、SPAL2POPDIPOPDXPOPCXPOPBXPOPAXRETDISPALENDPCHANGPROCNEARCMPAL,10JNGECHANG1ADDAL,7CHANG1:ADDAL,30HRETCHANGENDPCODEENDSENDSTART五.实验心得在实验过程中出现了类型不匹配的错误,归根结底还是对知识的掌握熟悉度不够;再者由于初次上机编写一个完整的汇编程序难免会出现这样或那样的问题,但在老师和同学的帮助下最终完成了这个程序的编写运行调试,收获颇丰。以后得勤加练习,争取掌握这门学科的精髓!