📄 a10.asm
字号:
;输入一个正整数n,输出自然数数列前n项和
STASG SEGMENT STACK
DW 32 DUP(?)
STASG ENDS
DATA SEGMENT
T1 DB 'Please input a number!',0AH,0DH,'$'
T2 DB '1+2+...+n=','$'
BUF DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STASG
START PROC
MOV AX,DATA
MOV DS,AX
MOV AH,9
LEA DX,T1
INT 21H
MOV BUF,0
INL: MOV AH,01H
INT 21H
CMP AL,0DH
JE ENDL
AND AL,0FH
SHL BUF,1
MOV BX,BUF
SHL BUF,1
SHL BUF,1
ADD BUF,BX
MOV AH,0
ADD BUF,AX
JMP INL
ENDL: CALL ADDD
MOV AH,4CH
INT 21H
START ENDP
ADDD PROC
MOV CX,BUF
XOR AX,AX
XOR BX,BX
A1: INC BX
ADD AX,BX
LOOP A1
MOV BX,AX
CALL DISPBXD
RET
ADDD ENDP
DISPBXD PROC
MOV AH,9
LEA DX,T2
INT 21H
MOV SI,10
XOR CX,CX
MOV AX,BX
NEXT: MOV DX,0
DIV SI
PUSH DX
INC CX
CMP AX,0
JNZ NEXT
OUTP: POP DX
ADD DL,30H
MOV AH,2
INT 21H
LOOP OUTP
RET
DISPBXD ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -