为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

N的阶乘

2017-09-28 2页 doc 50KB 68阅读

用户头像

is_079973

暂无简介

举报
N的阶乘N的阶乘 计算N的阶乘 设计内容 编写计算N!的程序。数值N由键盘输入,结果在屏幕上输出。 设计目的 通过编写一个阶乘的计算程序,了解怎样在汇编语言一级上实现高级语言的数学函数。 设计要求 N的范围为0~65536,即不超过一个16位寄存器的容量。 设计思路 本课程设计的流程图如图1所示。 编制阶乘程序的难点 本课程设计的难点在于随着N的增大,其结果远非寄存器所能容纳。这 就必须把结果放在一个内存缓冲区中。然而乘法运算只限于两个字相 乘,因此要确定好算法,依次从缓冲区中取数,进行两字相乘,并将 DX中的高16...
N的阶乘
N的阶乘 计算N的阶乘 设计内容 编写计算N!的程序。数值N由键盘输入,结果在屏幕上输出。 设计目的 通过编写一个阶乘的计算程序,了解怎样在汇编语言一级上实现高级语言的数学函数。 设计要求 N的范围为0~65536,即不超过一个16位寄存器的容量。 设计思路 本课程设计的图如图1所示。 编制阶乘程序的难点 本课程设计的难点在于随着N的增大,其结果远非寄存器所能容纳。这 就必须把结果放在一个内存缓冲区中。然而乘法运算只限于两个字相 乘,因此要确定好算法,依次从缓冲区中取数,进行两字相乘,并将 DX中的高16位积作为产生的进位。 算法 阶乘的定义为N!=N(N-1)(N-2)……2,从左至右依次计算,结果保存在缓 冲区BUF中。缓冲区BUF按结果由高到低依次排列。程序首先将BP初始 化为N,N不等于0或1则将N送入BUF缓冲区最低字节单元中。然后使 BP为N-1,以后BP依次减1,直到变化为1为止。每次让BP与BUF中 的字节单元按由低到高的次序相乘。低位结果AX仍保存在相应的BUF字 节单元中,高位结果DX则送到进位字单元CY中,作为高字相乘时从低字 来的进位,初始化CY为0.计算结果的长度随着乘积运算而不断增长。由 字单元LEN指示。LEN单元初始化为1。当最高字单元与BP相乘时。若 DX不为0,则结果长度要扩展。 N的阶乘程序流图
/
本文档为【N的阶乘】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索