a10.asm

来自「输入一个正整数n,输出自然数数列前n项和」· 汇编 代码 · 共 69 行

ASM
69
字号
;输入一个正整数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 + =
减小字号Ctrl + -
显示快捷键?