华北科技学院课程设计说明书课程名称: 汇编语言 班级: 计算机B08-2 姓名:_ 朱云峰 _学号:__ 200807014230 __设计题目:编写两个四位无符号十进制数乘法程序设计时间:2010年6月23日至2010年 6月30日指导教师:___ ___杜杏菁______ _____评 语:______________________________________________________________________ ____________________________________________________________________________________ __________________________________________ 评阅成绩:__ __评阅教师:__ __一、课程设计目的进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、,实现对软件或硬件的操作。、结构化的程序设计方法。。,多运用输入输出提示,出错信息及必要的注释。,语句使用得当。。三、课程设计题目:编写两个四位无符号十进制数乘法程序。四、课题分析计算用的数据要求从键盘输入,而且应该不止一次地输入,所以应该通过定义,调用子程序来实现;在输入的子程序重要加入ASCII码的转换,将输入的数据转换为机器能计算的数据;在输入子程序中要加入输入数据的判断,只能把数据限制在数字键,令其他输入显示为错误;接下来是计算过程,得到的结果也同样是计算机能够识别的ASCII码;最后是输出显示部分,该部分也应该被定义为子程序,加入数值的转换,使输出的数据为十进制数,调用9号功能,将计算结果显示在屏幕上。五、流程图:六、程序源代码:. DD0ARRAY DD16DUP(0)ERR DB0DH,0AH,'Inputerror!',0DH,0AH,'$'STRING DB0AH,0DH,0AH,0DH,'PleaseInput(*B=)$'STRIN DB0AH,0DH,0AH,0DH,'("q"quit):',0DH,0AH,'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXAGAIN:LEADX,STRING MOVAH,9INT21HLEADX,STRINMOVAH,9INT21HMOVEBX,OFFSETARRAYMOVFLAG_SIGN,0 MOVFLAG_NUM1,0 MOVFLAG_NUM2,0 L_Input0:XOREDX,EDXXORECX,ECXXOREAX,EAXMOVAH,1 INT21HCMPAL,'+'JZ L_Input1CMPAL,'-'JNZL_NumberNOTFLAG_SIGN L_Input1:MOVAH,1INT21HL_Number:CMPAL,'0'JB L_OperatorCMPAL,'9'JA L_OperatorSUBAL,30H ADDEDX,EDXMOVECX,EDXADDECX,ECXADDECX,ECXADDEDX,ECXMOVAH,0ADDEDX,EAXMOVFLAG_NUM1,1 JMPL_Input1 L_Operator:CMPAL,'*'JNZL_EqualCMPFLAG_NUM1,0 JZ ERMOV[BX],EDX ADDBX,4 MOVFLAG_NUM1,0 MOVFLAG_NUM2,1 JMPL_Input0 L_Equal:MOV[BX],EDX CMPAL,'='JNZL_Quit1MOVBL,FLAG_NUM1 MOVCL,FLAG_NUM2CMPBL,CLJNZERCMPFLAG_SIGN,0 JZ L_Cal MOVDL,'-' MOVAH,2INT21HL_Cal:MOVCX,0MOVSI,CXMOVEAX,ARRAY[SI+4] MOVEB
汇编语言课程设计编写两个四位无符号十进制数乘法程序 来自淘豆网www.taodocs.com转载请标明出处.