汇编语言实现计算SUM=1!+2!+3!+4!+5!

2024-12-16 13:03:09
推荐回答(3个)
回答1:

这个不难吧。。N!这个是阶乘的意思啊。。。可以用循环来控制,用两个循环。。内循环控制乘,,外循环控制N的值。。。当然这里用用连个存储单元了啊,,每次在循环中,N的值增加后,,都赋给内循环的控制单元。。这样就可以了啊。。。。

回答2:

;汇编语言实现计算SUM=1!+2!+3!+4!+5!
DATAS SEGMENT
;此处输入数据段代码
NUM DW 5 ;最高阶数
SUN DW 0,0 ;计算结果
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV CX,NUM
MOV AX,1 ;被乘数
MOV SI,1 ;乘数
L1:
MUL SI ;(dx,ax)保存n!,n表示第n次循环
ADD SUN[0],AX ;保存结果
ADC SUN[2],DX
INC SI
LOOP L1
MOV AH,4CH
INT 21H
CODES ENDS
END START

回答3:

;计算1+2+3+...+199+200,和数→sum单元
汇编语言
;和数20100d=(十六进制)4e84h,与计算器核对,正确.
code
segment
assume
cs:code
start:
mov
ax,code
mov
ds,ax
xor
ax,ax;记数器清0
mov
cx,200d;0c8h
q0:add
ax,cx
loop
q0
mov
sum,ax
mov
ah,4ch
int
21h
sum
dw
0
code
ends
end
start