masm编程计算S=1!+2!+3!+…+5!并显示结果
时间: 2023-12-30 19:07:00 浏览: 52
以下是masm汇编语言计算S=1!2!+3!+…+5!并显示结果的代码:
```
DATA SEGMENT
sum DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, 1
MOV BX, 1
MOV CX, 1
MOV DX, 1
MOV SI, 1
MOV sum, 0
CALL FACTORIAL
ADD sum, AX
MOV SI, 2
MOV sum, 0
CALL FACTORIAL
ADD sum, AX
MOV SI, 3
MOV sum, 0
CALL FACTORIAL
ADD sum, AX
MOV SI, 4
MOV sum, 0
CALL FACTORIAL
ADD sum, AX
MOV SI, 5
MOV sum, 0
CALL FACTORIAL
ADD sum, AX
MOV AX, sum
CALL DISPLAY
MOV AH, 4CH
INT 21H
FACTORIAL PROC
MOV DX, SI
MOV AX, SI
DEC DX
MUL DX
DEC DX
MUL DX
DEC DX
MUL DX
DEC DX
MUL DX
RET
FACTORIAL ENDP
DISPLAY PROC
MOV BX, 10
MOV CX, 0
MOV DX, 0
DIV BX
ADD DL, 48
MOV CX, DX
MOV DL, 0AH
DIV BX
ADD DL, 48
MOV DH, CL
MOV DL, 0AH
MOV AH, 2
INT 21H
MOV DL, DH
ADD DL, 48
MOV AH, 2
INT 21H
MOV DL, CL
ADD DL, 48
MOV AH, 2
INT 21H
MOV DL, ' '
MOV AH, 2
INT 21H
RET
DISPLAY ENDP
CODE ENDS
END START
```