欢迎来到天天文库
浏览记录
ID:41107702
大小:604.00 KB
页数:33页
时间:2019-08-16
《自0704微机原理课程设计模版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、大连理工大学本科实验报告课程名称:计算机原理课程设计学院(系):电信学部专业:电气班级:0804学号:200881487学生姓名:李清祥成绩:2011年1月13日实验1运算类程序设计编程训练一、实验目的1.掌握运算类指令编程与调试方法2.掌握运算类指令对各状态标志位的影响及控制条件转移的使用二、实验内容用减奇数法开平方三、实验说明及知识点用减奇数发可以球得近似平方根,以获得平方根的整数部分,N个自然数之和等于N²。若要做的的运算,那么就可以从S数中逐渐减去自然数中的奇数1、3、5、7……直到结果为0,然后统计自然数奇数的个数,他就是S的平方根。
2、四、实验要求与结果1.给出程序清单,并加以适量注释DATASEGMENTVARDW81DATAENDSSSGSEGMENTSTACKDB256DUP(0)SSGENDS CODESEGMENT ASSUME CS:CODE DS:DATA START: MOV AX,DATA MOV DS,AXMOVAX,VAR MOV SI,3500H MOV CL,00H MOV DX,01H MOV AX,[SI] A1:SUB AX,DX
3、 JL A2 INC CL ADD DX,02H JMP A1CMPAX,DX A2:MOV [SI],CL CODE ENDS END START设开方数为正整数,存放在3500H;cL为减奇数的个数,开始时为0,每减一个奇数,cL加1;dx为将要减的奇数,开始时为1,然后每次+2;结果放回3500H。 实验结果1.画出程序流程图AX>DX开始输入一个十进制数81到AX初始化DX=1,CX=0AX=AX-DXDX=DX+2CL=CL+1AX
4、5、较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较……若第N-1个数大于第N个数则两者交换,否则不交换,知道饿N个数的相邻两个数都比较完为止,此时N个数中最小数将被排在N个数的最前列2,对剩下的N-1个数重复第一步,照到N-1个数中的最小数3,重复第二步,直到N个数全部排好序为止四、实验要求与结果1.给出程序清单,并加以适当注释。DSEGSEGMENTBLOCKDB12,10,25,9,8,5,7,32,11,18NDW$-BLOCKDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOV6、AX,DSEGMOVDS,AXMOVBX,OFFSETBLOCKMOVCX,NDECCXAGAIN1:MOVDI,CXMOVSI,0000HAGAIN2:MOVAL,[BX+SI]CMPAL,[BX+SI+1]JNBNEXT1XCHGAL,[BX+SI+1]MOV[BX+SI],ALNEXT1:INCSILOOPAGAIN2MOVCX,DILOOPAGAIN1MOVAH,4CHINT21HCSEGENDSENDSTART实验结果开始2.画出程序流程图BX数据块首地址CX数据块长度-1DXCXSI0结束CX=0CXCX-1A(i)A(i+1)CX7、DISISI+1CXCX+1CX=0A(i)8、AVERAGESCORESIS:求得的平均分数。三.实验说明及知识点(一)1.将求得的二进制数转换成十进制数2.显示字符串信息用DOS功能调用INT2
5、较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较……若第N-1个数大于第N个数则两者交换,否则不交换,知道饿N个数的相邻两个数都比较完为止,此时N个数中最小数将被排在N个数的最前列2,对剩下的N-1个数重复第一步,照到N-1个数中的最小数3,重复第二步,直到N个数全部排好序为止四、实验要求与结果1.给出程序清单,并加以适当注释。DSEGSEGMENTBLOCKDB12,10,25,9,8,5,7,32,11,18NDW$-BLOCKDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOV
6、AX,DSEGMOVDS,AXMOVBX,OFFSETBLOCKMOVCX,NDECCXAGAIN1:MOVDI,CXMOVSI,0000HAGAIN2:MOVAL,[BX+SI]CMPAL,[BX+SI+1]JNBNEXT1XCHGAL,[BX+SI+1]MOV[BX+SI],ALNEXT1:INCSILOOPAGAIN2MOVCX,DILOOPAGAIN1MOVAH,4CHINT21HCSEGENDSENDSTART实验结果开始2.画出程序流程图BX数据块首地址CX数据块长度-1DXCXSI0结束CX=0CXCX-1A(i)A(i+1)CX
7、DISISI+1CXCX+1CX=0A(i)8、AVERAGESCORESIS:求得的平均分数。三.实验说明及知识点(一)1.将求得的二进制数转换成十进制数2.显示字符串信息用DOS功能调用INT2
8、AVERAGESCORESIS:求得的平均分数。三.实验说明及知识点(一)1.将求得的二进制数转换成十进制数2.显示字符串信息用DOS功能调用INT2
此文档下载收益归作者所有