汇编课程设计-约瑟夫环程序设计.doc
武汉理工大学汇编语言程序设计课程设计报告1学号:0120910340228汇编课程设计题目约瑟夫环程序设计学院计算机科学与技术学院专业计算机科学与技术专业班级计算机科学与技术0902班姓名XX指导教师XX2011年12月30日武汉理工大学汇编语言程序设计课程设计报告2课程设计任务书学生姓名:XX专业班级XX指导教师:XX工作单位:计算机科学与技术学院_题目:约瑟夫环程序设计初始条件:理论:完成了汇编语言程序设计课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了汇编语言程序设计的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:1)有n个人围成一圈,他们的编号为1到n。第一个人从1开始顺序报数,凡报到m时,该人退出圈子。其后的人再从1开始顺序报数,直到最后的一个人退出圈子为止。输出依次退出圈子人的序号。n和m的值从键盘输入,且均小于200。2)程序采用子程序结构,结构清晰;3)友好清晰的用户界面,能识别输入错误并控制错误的修改。在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)IBMPC汇编语言程序设计实验教程实验2.42)IBMPC汇编语言程序设计(第2版)例6.11时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名:年月日系主任(或责任教师)签名:年月日武汉理工大学汇编语言程序设计课程设计报告3目录1.需求说明42.设计说明42.1简要分析42.2概要设计42.2.1主要模块42.2.2主函数结构.73.算法描述.83.1算法描述.83.2流程框图94.源程序与执行结果104.1源程序104.2执行结果154.2.1测试方法154.2.2测试结果.154.3调试结果185.使用说明.196.总结20武汉理工大学汇编语言程序设计课程设计报告4约瑟夫环程序设计1.需求说明4)有n个人围成一圈,他们的编号为1到n。第一个人从1开始顺序报数,凡报到m时,该人退出圈子。其后的人再从1开始顺序报数,直到最后的一个人退出圈子为止。输出依次退出圈子人的序号。n和m的值从键盘输入,且均小于200。5)程序采用子程序结构,结构清晰;6)友好清晰的用户界面,能识别输入错误并控制错误的修改。2.设计说明2.1简要分析要正确、友好地完成用汇编语言设计约瑟夫环,我们应该完成以下几个功能:(1)相关的交互提示用语(2)定义的数据段中包含0-200(3)编号数n的输入(4)标志数m的输入(5)输入设置为只允许输入三位数字,其余均不显示(6)显示的结果是所有的退出序列,并使用箭标连接2.2概要设计2.2.1主要模块(1)变量的定义DATASEGMENTTABLELABELWORDCOUNT=1REPT200DWCOUNTCOUNT=COUNT+1ENDMPRINT1DBPleaseinputthenumberofthepeople(lessthan200):$PRINT2DBPleasetheflag:$MESSDB->$DATAENDS武汉理工大学汇编语言程序设计课程设计报告5(2)编号数n输入的处理n1:MOVAH,07HINT21HCMPAL,0JBn1CMPAL,9JAn1MOVDL,ALMOVAH,02HINT21HMOVAH,0SUBAL,30HMOVCX,AXMOVBX,CXn2:MOVAH,07HINT21HCMPAL,0JBn2CMPAL,9JAn2MOVDL,ALMOVAH,02HINT21HMOVAH,0SUBAL,30HMOVDX,10MULDXMOVCX,AXMOVAX,BXMOVBX,100MULBXADDCX,AXn3:MOVAH,07HINT21HCMPAL,0JBn3CMPAL,9JAn3MOVDL,ALMOVAH,02H武汉理工大学汇编语言程序设计课程设计报告6INT21HMOVAH,0SUBAL,30HMOVDX,AXADDCX,DXPUSHCXMOVAX,CXMOVCX,2MULCXMOVBP,AXMOVAX,SI+BPMOVAX,0FFHMOVSI+BP,AXCALLCTRLLEADX,PRINT2MOVAH,09HINT21HCALLCTRL(3)标志数m的输入处理n4:MOVAH,07HINT21HCMPAL,0JBn4CMPAL,9JAn4MOVDL,ALMOVAH,02HINT21HMOVAH,0SUBAL,30HMOVCX,AXMOVBX,CX武汉理工大学汇编语言程序设计课程设计报告7n5:MOVAH,07HINT21HCMPAL,0JBn5CMPAL,9JAn5MOVDL,ALMOVAH,02HINT21HMOVAH,0SUBAL,30HMOVDX,10MULDXMOVCX,AXMOVAX,BXMOVBX,100MULBXADDCX,AXn6:MOVAH,07HINT21HCMPAL,0JBn6CMPAL,9JAn6MOVDL,ALMOVAH,02HINT21HMOVAH,0SUBAL,30HMOVDX,AXADDCX,DXMOVDI,CX2.2.2主函数结构START:MOVAX,DATAMOVDS,AXLEASI,TABLEMOVBX,0MOVDX,0;CALLPRINT