用汇编语言求 N的阶乘,N是1到9.

如题所述

汇编语言的基本思路和c语言大致相同,只是写程序更麻烦一些。
这道题的答案如下:
DATE SEGMENT
N DB 01H
M DB 00H
DATA ENDS (定义了一个叫DATA的数据段,N,M是其中的两个字节数据)
CODE SEGMENT
ASSUME CS:CODE,DS:DATA (设置代码段,并让你自定义的DATA和CODE段和
系统对应起来)
START:MOV AX,DATA
MOV DS,AX (将数据段的段地址送于AX,再由AX送到DS,即DS存储数据段的值
注意,CODE段不能赋值,因为系统本身为它设定了一个初值)
MOV AL,N
MOV CX,8 (设定循环次数初值)
L0: INC N (使N自增1)
MUL N (将AL中的数与N相乘,结果保存在AL中)
MOV M, AL (将AL中的数保存到M中)
LOOP: L0 (返回执行上述程序)
MOV AH,4CH (程序结束时返回操作系统)
INT 21H (调用DOS中断,程序结束)
CODE ENDS (代码段结束)
END START
若已知循环次数的情况下,可采用LOOP指令来进行循环操作!
温馨提示:答案为网友推荐,仅供参考
相似回答