资源描述:
《中国石油大学2016年微机原理实验程序()终稿》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一寻址方式和汇编语言程序上机调试步骤2、在数据段X单元存放有数据42,Y单元存放有数据・43,编程求这两数之和,并把结果存放到S单元。datasegmentxdb42ydb-43sdb0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,xaddal,ymovs,alloop:jmploopcodeendsendstart3、已知数据段X单元存放的数据为10H,datasegmentxdb10hydbOhdataendscodesegmentass
2、umecs:code,ds:datastart:movax,datamovds,axmovcl,4hmoval,xrolax,clmovy,alloop:jmploopcodeendsendstart实验二循环程序设计1、编程将数据段从OOH单元起始的十个单元赋值,值为00H~09H。DATASEGMENTDATDB10DUP(?)DATAENDS编程将该数据左移四位后存放到丫单元。CODESEGMENTASSUMEDS:DATA,CS:CODEASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMO
3、VCX,10MOVBX,0LOOPER:MOVDAT[BX],BLINCBXLOOPLOOPERLOOP:JMPLOOPCODEENDSENDSTART2、现有两组数,X二・78,127,・128,・125,88,Y=32,-43,76,95,1O编程求两个数组之和,并将结果传送到S数组内,S(i)=X(i)+Y(iDATASEGMENTORG0000HXDB-78,127,-128,-125,88YDB32,-43,76,95,1SDB5DUP(?)DATAENDSCODESEGMENTSTART:MOVAX,DATAMOVDS,AX
4、MOVCX,5MOVBX,0LOOPER:MOVAL,X[BX]MOVDL,Y[BX]ADDAL,DLMOVS[BX],ALINCBXLOOPLOOPERLOOP:JMPLOOPCODEENDSENDSTART3、现有两个多位十进制数,X=5790123467,Y=135790246&编程求X和丫之和,并将结果传送到SoDATASEGMENTORG0000HXDB67H,34H,12H,90H,57HYDB68H,24H,90H,57H,13HSDB5DUP(?)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CO
5、DESTART:MOVAX,DATAMOVDS,AXMOVCX,5MOVBX,0LOOPER:MOVAL,X[BX]MOVDL,Y[BX]ADCAL,DLDAAMOVS[BX],ALINCBXLOOPLOOPERLOOP:JMPLOOPCODEENDSENDSTART实验三、子程序调用程序设计1、用子程序调用(段内近程调用)编程,将以下十个数从小到大排序。85,77,126,・1,・43,37,-128,们,・19,13oDATASEGMENTXDB85,77,126,-1,-43,37,-128,11,-19,13COUNTEQU$-X
6、DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXCALLSUB1LOOP4:JMPLOOP4SUB1PROCNEARMOVSI,0MOVCX,COUNTDECCXLOOP1:MOVDX,CXLOOP2:MOVAL,X[SI]CMPAL,X[SI+1]JLLOOP3XCHGAL,X[SI+1]MOVX[SI],ALLOOP3:INCSILOOPLOOP2START:MOVAX.STACKMOVCX,DXMOVSS,AXMOVSI,0MOVSP,OFFSETTOP
7、LOOPLOOP1PUSHDSRETSUBAX,AXSUB1ENDPPUSHAXMOVAX.DATACODEENDSMOVDS,AXENDSTARTMOVCX,05H实验四、DOS系统功能调用MOVAL,0K从键盘连续输入5个单个字符(如:1、S1:MOVAH,12、3、4、5),并将其压入堆栈,并显示。INT21HDATASEGMENTPUSHAXDUFDB10DUP(?)LOOPS1DATAENDSMOVDL,0DHSTACKSEGMENTMOVAH,02HSADB100DUP(?)INT21HTOPLABELWORDMOVDL,0A
8、HSTACKENDSMOVAH,02HCODESEGMENTINT21HASSUMEMOVCX.05HDS:DATA,CS:CODE,SS:STACKMOVBX,4S2:P0PAXDATAEN