计算N的阶乘2(微型计算机原理与接口技术)(共17页).doc





《计算N的阶乘2(微型计算机原理与接口技术)(共17页).doc》由会员分享,可在线阅读,更多相关《计算N的阶乘2(微型计算机原理与接口技术)(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上北 华 航 天 工 业 学 院课程设计报告(论文)设计课题: 计算N的阶乘 专业班级: 学生姓名: 指导教师: 设计时间: 北华航天工业学院电子工程系 微机原理 课程设计任务书姓 名:专 业:电子信息工程班 级:指导教师:职 称:讲师课程设计题目:计算N的阶乘已知技术参数和设计要求:1 N的范围为065535,即不超过一个16位寄存器的容量。2 数值N由键盘输入,结果在屏幕上输出。所需仪器设备:计算机、masm软件成果验收形式:运行结果显示,答辩,设计报告参考文献:微机原理与接口技术8086实验指导书时间安排12月18日:查找资料12月19日:编写程序12月20日:上
2、机调试12月21日:验收答辩指导教师: 刘金梅 2010年12 月 21 日内 容 摘 要本次设计以8086CPU为主板进行,主要计算机系统概述,计算机中数据的表示,运算方法与运算器,控制器,Intel80X86微处理器,存储系统,80X86的寻址方式与指令系统及中断系统。说明说在内容组织上既注重全面性和实用性,又强调系统与新颖性。由浅入深,全面系统地介绍了微型计算机的组成、工作原理、接口电路和典型应用等,使读者监理微型计算机系统的整体念,掌握微型计算机系统软硬件开发的初步方法,了解简单计算机应用系统的工作原理和设计方法。本文是关于微型计算机原理写文件课程设计。编写程序,将内存区域中用调试程序
3、(DEBUG)设置好的一连串数据做为一个文件存入磁盘,文件名为N.ASM。内存区域的段地址和偏移地址在程序中输入随着计算机的高速发展,微型计算机已经应用到各个领域,微型计算机原理应用技术已经成为电子信息的核心产业。微型计算机原理是计算机科学与技术、通讯工程、电气工程、机电工程的核心课程。通过这次课程设计,是我们更好地理解了课程中所学的理论知识,并把实际问题转化为理论知识,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。索引关键词:键盘输入 、 屏幕输出 、 不超过一个16位寄存器的容量目 录一 概 述 5二 设计内容5三 设计目的5 四 设计要求5五 设计思路51编制阶乘程序的难点5
4、2算法5六 源程序6七 运行过程111源文件的建立和汇编112目标文件的链接123执行文件的调试12八 N的阶乘流程图12九 实验体会14十 参考文献14 一、概述 本文是关于微型计算机原理写文件课程设计。编写程序,将内存区域中用调试程序(DEBUG)设置好的一连串数据做为一个文件存入磁盘,文件名为N.ASM。内存区域的段地址和偏移地址在程序中输入随着计算机的高速发展,微型计算机已经应用到各个领域,微型计算机原理应用技术已经成为电子信息的核心产业。微型计算机原理是计算机科学与技术、通讯工程、电气工程、机电工程的核心课程。通过这次课程设计,是我们更好地理解了课程中所学的理论知识,并把实际问题转化
5、为理论知识,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。二、设计内容编写计算N!的程序。数值N由键盘输入,结果在屏幕上输出。三、设计目的通过编制一个阶乘计算程序,了解怎样在汇编语言一级上实现高级语言中的数学函数。四、设计要求N的范围为065535,即不超过一个16位寄存器的容量。五、设计思路 1编制阶乘程序的难点 本课程设计的难点在于随着N的增大,其结果远非寄存器所能容纳。这就必须把结果放在一个内存缓冲区中。然而乘法运算只限于两个字相乘,因此要确定好算法,依次从缓冲区中取数,进行两字相乘,并将DX中的高 16位积作为产生的进位。 2算法 阶乘的定义为N!N(Nl)(N2) 2l,
6、从左往右依次计算,结果保存在缓冲区BUF中。缓冲区BUF按结果由低到高依次排列。程序首先将BP初始化为N,N不等干0或1则将N送入BUF缓冲区最低字单元中。然后使BP为Nl,以后BP依次减1,直至变化到1为止。每次让BP与BUF中的字单元按由低到高的次序相乘。低位结果AX仍保存在相应的BUF字单元中。高位结果DX则送到进位字单元CY中,作为高字相乘时从低字来的进位,初始化CY为0。计算结果的长度随着乘积运算而不断增长,由字单元LEN指示,LEN单元初始化为1。当最高字单元与BP相乘时,若DX不为0,则结果长度要扩展。六、源程序内容:计算N阶乘 N!CRLF MACRO;回车,换行 MOV AH
7、, 02H MOV DL, 0DH INT 21H MOV AH, 02H MOV DL, 0AH INT 21H ENDMDATA SEGMENTMESS1 DB INPUT THE NUMBER ACCORDING TO HEXNUM!,0DH,0AH,$MESS2 DB THE RESULT IS: $ERROR DB INPUT ERROR! INPUT ONCE MORE!,0DH ,0AH,$LEN DW 1CY DW ?BUF DW 256 DUP(0)DATA ENDSSTACK SEGMENT STACK STACK DW 32 DUP(?)STACKENDSCODE SEG
8、MENTASSUME CS: CODE, DS:DATA, ES:DATA, SS:STACKSTART:MOV AX, DATA MOV DS,AX MOV ES, AX MOV AH, 09H MOV DX,OFFSET MESS1 INT 21H ;显示输入提示信息 CALL GETNUM ;读取键入的N值 MOV BP, DX ;N值送BP CMP BP, 0 JZ EEE CMP BP, 1 JZ EEE ;N=0或N=1则转EEE MOV SI, OFFSET BUF ;缓冲区首址 MOV SI,DX ;缓冲区初始化为值NXXX: DEC BP ;N值减1 CMP BP,0001H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 阶乘 微型计算机 原理 接口 技术 17

限制150内