关闭

关闭

封号提示

内容

首页 杨辉三角 课程设计.doc

杨辉三角 课程设计.doc

杨辉三角 课程设计.doc

上传者: 牛拦织女拉拉 2017-09-03 评分 5 0 144 20 655 暂无简介 简介 举报

简介:本文档为《杨辉三角 课程设计doc》,可适用于工作范文领域,主题内容包含杨辉三角课程设计题目:杨辉三角摘要众所周知微机原理课程设计师专业教学的主要课程之一。可以完成和高级语言一样的功能。同时此次课程设计对于数据库结构的理符等。

杨辉三角课程设计题目:杨辉三角摘要众所周知微机原理课程设计师专业教学的主要课程之一。可以完成和高级语言一样的功能。同时此次课程设计对于数据库结构的理解尤其是单循环链表基本运算的实现起着重要的作用。可以把学到的知识用于解决实际问题锻炼动手能力。本次课程设计是实现杨辉三角在此过程中我们可以深刻的提醒我们要不断的充实自己。在这次的课程设计中积累了经验锻炼了分析问题解决问题的能力。关键词:汇编语言杨辉三角课程设计微机原理ABSTRACTAseveryoneknows,themicrocomputerprinciplecurriculumdesignteachingoneofthemaincoursesCancompleteandadvancedlanguagefeaturesAtthesametime,thecurriculumdesignforthedatabasestructureunderstanding,especiallycircularlinkedlistofbasicoperationsplayanimportantroleintherealizationYoucanlearntheknowledgetosolvepracticalproblems,trainingabilityThecurriculumdesignistoachievetheYangHuitriangle,inthisprocesswecanprofoundlyremindedustoconstantlyenrichthemselvesInthisdesign,accumulatedexperience,exercisetheanalysisproblem,problemsolvingabilityKEYWORDS:Assemblylanguage,YangHuitriangle,curriculumdesign,themicrocomputerprincipleIII目录摘要ABSTRACTI概述功能设计设计任务设计规律软件设计主要模块流程图源程序清单与注释运行过程小结参考资料概述微机原理和接口技术是一门实践性强的学科其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的必须通过实践才能比较直观和深刻的理解。在进行课程设计的过程中我们可以到体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程从而使系统地掌握微机原理的接口技术的相关知识达到将知识融会贯通的目的。课程设计的原理有比较详细的描述课程设计的步骤循序渐进便于我们完成课程设计。实例丰富可以培养我们的动手能力也有助于培的团队意识。养我们功能设计设计任务在提示信息下从计算机键盘任意输入一个数据在输出提示信息后显示相应的杨辉三角。例如:Pleaseinputanumber:TheYanghuitriangle:设计规律、每行数字左右对称由开始逐渐变大然后变小回到。、第n行的数字个数为n个。、第n行数字和为^(n,)。(的(n)次方)。、每个数字等于上一行的左右两个数字之和。、将第n行第个数跟第n行第个数、第n行第个数……连成一线这些数的和是第n个斐波那契数。将第n行第个数跟第n行第个数、第n行第个数……这些数之和是第n个斐波那契数。、第n行的第个数为第二个数为(n)第三个数为(n)(n)第四个数为(n)(n)(n)…依此类推。两个未知数和的n次方运算后的各项系数依次为杨辉三角的第(n)行。软件设计主要模块流程图开始输出起始菜单字符输入以baseNumber进制输入数据到AX中入数据以baseNumber进制形式输出放在AX中的值输出结束图源程序清单与注释DATASSEGMENTDBDUP()定义两个存储空间用于运行过程中临tmp时存储数据tmpDBDUP()menuDBAH,DH,''DBAH,DH,'YangHuitriangel'DBAH,DH,'',AH,DH,'$'STRDBAH,DH,'PleaseinputtheoutputLineNumber,Entertoconfirm'DBAH,DH,'LineNumberrangein,',AH,DH,'$'strDBAH,DH,'thetriangelnowis:',AH,DH,'$'DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS宏定义字符输入charinMACRO宏定义无参数的字符输入功能MOVAH,H系统调用输入一个字符用于功能选择INTH字符默认输入到AL中ENDM宏定义字符输出charoutMACROoutchar宏定义将字符outchar输出PUSHAXPUSHDXMOVDL,outcharMOVAH,H系统调用输出字符outcharINTH调用系统中断调用过程中会改变AL中的值故将AX中的值入栈保存POPDXPOPAXENDM宏定义字符串输出stroutMACROSTRINGOUT将字符串STRINGOUT输出LEADX,STRINGOUT将STRIN的偏移地址送到DX寄存器MOVAH,H字符串输出功能INTH调用系统中断ENDM宏定义以baseNum进制输出AX中的数值outAXMACRObaseNum宏定义换行PUSHAXPUSHBXPUSHCXPUSHDXMOVBX,baseNum将要转换成的进制存入BX作为除数CALLoutAXp调用进制输出过程POPDXPOPCXPOPBXPOPAXENDM过程定义以baseNum进制形式输出存放在AX中的数值过程outAXpPROCMOVDX,初始化DX配合AX一起进行处罚操作MOVCX,用CX计数取得个余数个数outAXpCircle:CMPAX,判断AX中的值是否为JEoutAXpNEXT是则跳转DIVBX不是则进行除运算商保存在AX中余数保存在DX中取到的余数入栈保存PUSHDX将对MOVDX,将DX中的余数清空以便下一步对AX中的数进行除运算INCCX计数循环取得的余数个数JMPoutAXpCircleoutAXpNEXT:循环输出取得的余数POPAXCMPAL,当余数小于时直接将数值输出JBnoutADDAL,否则将余数转化为对应的字符对应字符'A'charoutALJMPcoutnout:ADDAL,HcharoutALcout:LOOPoutAXpNEXTREToutAXpENDP宏定义以baseNum进制输入数据串到AX中可输入进制inAXMACRObaseNum宏定义换行PUSHBXPUSHCXPUSHDXMOVCX,baseNum将要转换成的进制存入BX作为除数CALLinAXp调用进制输入过程POPDXPOPCXPOPBXENDM过程定义以baseNum进制形式输出存放在AX中的数值过程inAXpPROCMOVAX,inAXp:PUSHAXinAXp:charin逐个字符进行输入,结果存放到AX中CMPAL,JEinAXE当按下Enter键后跳转AX的输出CMPAL,''JBinAXp当输入字符小于''时跳转inAXp跳转重新进行字符输入CMPAL,''JAinAXnext当输入字符大于''时跳转inAXnext进一步进行比较SUBAL,当字符在''''之间时将字符转化为对应的数值JMPinAXnum跳转数值输入inAXnext:CMPAL,'A'JBinAXp当输入字符小于'A'时跳转重新进行字符输入CMPAL,'Z'JAinAXnext当输入字符大于'Z'时跳转inAXnext进一步进行比较SUBAL,当字符在'A''Z'之间时将字符转化为对应的数值并跳转到数值输入JMPinAXnuminAXnext:CMPAL,'a'JBinAXp当输入字符小于'A'时跳转重新进行字符输入CMPAL,'z'JAinAXp当输入字符小于'A'时跳转重新进行字符输入SUBAL,当字符在'a''z'之间时将字符转化为对应的数值并跳转到数值输入JMPinAXnuminAXnum:MOVBH,将数值送到AX中MOVBL,ALPOPAXAX中的数值为时跳过乘法操作CMPAX,当JEinAXaddMULCX乘以CX中的进制基数inAXadd:ADDAX,BXJMPinAXpinAXE:POPAX将计算得到的数值出栈到AX中RETinAXpENDP宏定义换行endlMACRO宏定义换行PUSHAXPUSHBXPUSHCXPUSHDXMOVDL,AH先输出垂直Tab键MOVAH,INTH调用系统中断实现输出MOVDL,DH再将输出输出调至段首INTH调用系统中断POPDXPOPCXPOPBXPOPAXENDMSTART:MOVAX,DATAS将数据段地址送到AX中MOVDS,AX由AX转送到送到DSstroutmenu字符串输出宏调用输出menu的提示菜单stroutSTR提示输入杨慧三角要输出的行数inAX以进制的形式输入要输出的行数到AX中MOVCX,AX将行数存储到CX中endl换行endlstroutstr输出提示信息P:CMPCX,JEEDECCXPUSHCXMOVBX,MOVSI,CMPtmpBX,JEP当tmp的首个字符为时跳转PCMPtmpBX,JEP当tmp的首个字符是时跳转PP:MOVtmpBX,向tmp中写入MOVSI,SI指向第二个字符Pnext:MOVDL,tmpBX在tmp中从第一个数字开始一次取出两个数据低位存到DLMOVDH,tmpSI高位存到DHCMPDH,并比较后一个数据是否为结束符JEPfinal当后一个数值为结束符时跳转ADDDL,DH将DH中的数值加到DL中MOVtmpSI,DL将两个数值之和存储到tmp中INCBX指针指向后两个数值INCSIJMPPnextPfinal:MOVtmpSI,向tmp中写入INCSIMOVtmpSI,向tmp的结尾写入字符MOVBX,MOVtmpBX,向tmp的首个字符写入字符MOVBX,输出tmp中的所有数值outTmpnext:MOVAH,MOVAL,tmpBX将中的数值存储到AX中由AX中进行输出CMPAL,JEPendl当取到字符时进行换行操作outAX以进制的形式输出AX中的数值charout''在数值之间添加空格charout''INCBXJMPoutTmpnextP:MOVtmpBX,向tmP中写入MOVSI,SI指向第二个字符Pnext:MOVDL,tmpBX在tmp中从第一个数字开始一次取出两个数据低位存到DLMOVDH,tmpSI高位存到DHCMPDH,并比较后一个数据是否为结束符JEPfinal当后一个数值为结束符时跳转ADDDL,DH将DH中的数值加到DL中中MOVtmpSI,DL将两个数值之和存储到tmpINCBX指针指向后两个数值INCSIJMPPnextPfinal:MOVtmpSI,向tmp中写入INCSIMOVtmpSI,向tmp的结尾写入字符MOVBX,MOVtmpBX,向tmp的首个字符写入字符MOVBX,输出tmp中的所有数值outTmpnext:MOVAH,MOVAL,tmpBX将中的数值存储到AX中由AX中进行输出CMPAL,JEPendl当取到字符时进行换行操作outAX以进制的形式输出AX中的数值charout''在数值之间添加空格charout''INCBXJMPoutTmpnextPendl:endl换行POPCXCMPCX,JEEJMPPE:MOVAH,CH调用系统结束INTHCODESENDSENDSTART运行过程输出杨辉三角前行例图:图输出杨辉三角前行例图:图小结课程设计这样集体的任务光靠团队里的一个人或几个人是不可能完成好的合作的原则就是要利益均沾责任公担。如果让任务交给一个人那样既增加了他的压力也增大了完成任务的风险降低了工作的效率。所以在集体工作中团结是必备因素要团结就是要让我们在合作的过程中:真诚自然微笑说礼貌用语不斤斤计较多讨论少争论会谅解对方对他人主动打招呼会征求同学的意见会关心同学会主动认错找出共同点会接受帮助信守诺言尊重别人保持自己的特色。另外设计过程中温习了基础理论这包括指令系统、寻址方式、伪操作和汇编的语言格式另外也涉及了课堂上没有涉及到的宏操作对于宏过程作为一命名的汇编语句块一经定义宏过程就可以在程序中被调用任意多次。在编写代码时加深了对循环、分支、子程序等基本程序结构的理解通过使用DOS系统功能调用对DOS系统功能有了进一步的认识。同时也掌握了把输入的数(数字字符)转换成对应的二进制和把二进制数转化成十进制数输出的方法也掌握了怎样用汇编写一个判断完全数的算法。在调试的过程中学习到了怎样减少错误的方法也知道如何设置测试数据。参考资料郑岚王洪海微机原理与接口技术北京理工大学出版社,戴梅萼微型计算机技术及应用清华大学出版社李大友微机接口技术机械工业出版社,杨素行微型计算机系统原理及应用北京清华大学出版社宋杰汪志宏江敏微机原理与接口技术课程设计机械工业出版社,陆红伟微机原理实验与课程设计指导书中国电力出版社吕淑萍微型计算机原理及应用哈尔滨工程大学出版社

类似资料

该用户的其他资料

水土保持:大泉山典型的塑造.doc.doc

港股收跌237点 汉能爆升22%市值超越国寿.doc

奉化黄贤村简介.doc

[资料]传记类白话文常识罕见虚词释义 (零丁一一查实).doc

[精品文档]房地产开发和上海城市人口再分布.doc

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 璧尘公基笔记(20091212校…

  • 水经注通检今释.pdf

  • 规范场论【胡瑶光】.pdf

  • 微距摄影艺术.pdf

  • 三车同到之谜.pdf

  • 钢笔字帖.doc

  • 蜂群出现分蜂前后的行为.pdf

  • 蜂群的分蜂行为及其影响因素.pdf

  • 蜂群中工蜂合作与冲突.pdf

  • 资料评价:

    / 17
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部