(6)、了解怎样在汇编语言一级上实现高级语言中的数学函数。
二、实验内容
1、实验内容
计算 N!:编写计算 N 阶乘的程序,数值 N 由键盘输入,N 的值要在 0
到 65536 之间(用一个 16 位的字表示),结果在显示器上显示。
2、实验步骤
(1)、打开开始菜单,单击运行,在对话框中输入“ cmd”,进入 dos 窗口。
(2)、输入 cd\masm5 回车,在输入 edit 回车,进入汇编窗口。
(3)、输入代码。
(4)、保存代码,后缀名为 .asm。
(5)、回到 dos 窗口,输入 masm 文件名保存位置,文件名 回车。
(6)、调试程序,根据提示回到汇编窗口,对代码进行修改,直至出现 no
error 及 no warrings。
三、实验思路、
1、算法
阶乘的定义为 N!=N*(N-1)*(N-2)*……2*1,从走往右翼此计算,解雇保留
在缓冲区 BUF 中。缓冲区 BUF 按由低到高依次排列。程序首先将 BP 初始为
N,N 不等于 0 获 1 则将 N 送入 BUF 缓冲区最低自单元中。然后使 BP 一次减 1,
直至变化到 1 为止。每次让 BP 与 BUF 的字 单元按照由低到高的次序香橙。低
位结果 AX 仍 保存在相应的 BUF 自单元中,高位结果 DX 泽送到进位子单元
CY 中,作为高字香橙时从低字来的进位,初始化 CY 为 0。计算结果的长度随
着成绩运算而不断增长,由字单元 LEN 指示,LEN 单元初始化为 1。当最高字
单元与 BP 香橙时,若 DX 不为 0,则结果长度要扩展。
2、流程图