怎样用汇编语言实现求“1+2+3……+100”的和啊?

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:01:02

DSEG SEGMENT
RESULT DW ?;存放和
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV AX,1;从1开始加
MOV RESULT,0;和的初值赋0
MOV CX,100;循环100次
NEXT:
ADD RESULT,AX;每次向和中累加AX
INC AX;然后AX加1
LOOP NEXT
MOV AX,4C00H;结束程序
INT 21H
CSEG ENDS
END START

利用递归算法
DESG SEGMENT
N DW 100
RESULT DW
DESG ENDS
SSEG SEGMENT STACK
DW 512 DUP(?)
SSEG ENDS
CSEG1 SEGMENT
ASSUME CS:CSEG1,DS:DSEG,SS:SSEG
START:
MOV AX,DESG
MOV DS,AX
PUSH AX
PUSH N
CALL SUM
POP RESULT
MOV AH,4CH
INT 21H
CSEG1 ENDS
CSEG2 SEGMENT
ASSUME CS:CSEG2,SS:SSEG
PARN EQU 6[BP]
PARSUM EQU 8[BP]
SUM PROC FAR
PUSH BP
MOV BP,SP
PUSH AX
MOV AX,PARN
CMP AX,0