一、实验目的课程设计是计算机原理与汇编语言教学过程中的重要环节。本课程设计主要目的是使计算机专业学生深入学****计算机原理与汇编语言知识,进一步提高学生计算机原理与汇编语言综合能力和程序设计技能,锻炼运用计算机原理与汇编语言解决实际问题的能力。二、,独立完成设计任务,每道题都必须上机通过。,培养综合分析问题解决问题和调试程序的能力。,写出课程设计报告。三、~30之间的n值,i数,以十进制数输出.Ⅰ、概要设计程序要求键盘输入20~30之间的n值,首先要设计一个输入子程序用来得到输入的n值,i数的子程序,最后把得到的结果调用十进制输出子程序输出。程序流程图如下:i数判断递归是否大于N否是Ⅱ、'iis:$'用于输出提示信息ddw?存放数的低位gdw?存放数的高位countdb?,***@datamovds,axcalltishi输出提示信息callshuru调用输入子程序callhuiche回车换行movax,1movbx,1movcx,0movdx,i数callout10十进制输出计算结果movah,earmovah,1h;键盘输入一个字符int21hsubal,30hmovah,0movcl,10dmulcl;输入十位数movcx,axmovah,1int21h;输入个位数subal,32haddcl,almovcount,cl;把输入的N值存入countret;earmovd,axmovg,dxaddax,bx低16位放在ax里adcdx,cx高16位用带进位乘法放在dx里movbx,dmovcx,ount递归次数减一jzexit如果递归次数为0则结束递归过程callf如果递归次数不为0,进行递归计算exit:ear;dx中存放高16位,ax中存放低16位movbx,100ddivbx为了降低商的大小,先除以100,把十进制个位和十位入栈movcx,axmovax,dxmovdx,0movbx,10ddivbxpushdxpushaxmovax,cxmovdx,0movcx,2cun:movdx,0divbx继续除以10,xcmpax,0jnzcunmovah,2qu:popdx从高位到低位依次从栈中取出输出adddl,30hint21hloopqumovdl,20hint21hretout10endpⅢ、,要使用到子程序,完成这些素数的输出显示和个数统计以及求和计算,均以十进制形式输出。Ⅰ、概要设计Dl存放要判断的素数,如果bl能够整除dl说明dl中不是素数,dl加一继续循环,如果bl不能整除dl,则调用十进制输出子程序输出dl,并把count加一,。程序流程图如下:开始初始化数据段输出提示信息调用求素数子程序否N>=100是调用显示个数子函数调用显示素数和子函数结束Ⅱ、'sushuin100:$'d2db'sumis:$'d3db'countis:$'countdw0;存放素数个数sumdw0;,***@datamovds,axcallqiusushu;调用求100以内素数并输出子程序callqiugeshu;调用输出素数个数子程序callqiuhe;调用输出素数和子程序movah,ear;计算100以内素数pushaxpushbxpushdxleadx,d1movah,9int21hmovdx,0ahmovah,2hint21hmovdx,0dhint21hmovbl,2l1:cmpbl,100jajieshumovdl,2l2:cmpbl,dljzsushumovax,bxdivdlcmpah,0jzl3incdljmpl2l3:incbljmpl1sushu:movax,ountaddsum,axjmpl1jieshu:ear;十进制输出AXpushaxpushbxpushcxpushdxmovbx,10dmovcx,0c:movdx,xcmpax,0jnzcmovah,2q:popdxadddl,30hint21hloopqmovdl,earpushaxpushdxmovah,2hmovdx,0ahint21hmovdx,0dhint21hleadx,d3movah,9int21hmovax,earpushaxpushdxmovah,2hmovdx,0ahint21hmovdx,0dhint21hleadx,d2movah,9int21hmovax
汇编课程设计 来自淘豆网www.taodocs.com转载请标明出处.