汇编语言“自然数1到100的求和。并写出结果输出”

各位大哥帮忙作作 啊,谢谢!

最简单的做法

code segment
assume cs:code
start:
mov ax,0 ;ax清零
mov bx,1 ;bx将从1循环加到100
mov cx,100 ;cx作为循环次数的控制变量
next:
add ax,bx ;ax保存加的结果
inc bx ;bx加一
loop next
mov ah,4ch ;主程序结束 返回dos
int 21h
code ends
end start

不明白再发消息给我吧 ^_^
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-03
SSEG SEGMENT PARA STACK
DW 256 DUP(0)
SSEG ENDS
DSEG SEGMENT
SHOW DB 'SUM=','$'
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET SHOW
MOV AH,09
INT 21H
MOV CX,100
XOR AX,AX
NEXT1: ADD AX,CX
LOOP NEXT1
MOV BX,10
NEXT2: CMP AX,10
JB OK
XOR DX,DX
DIV BX
PUSH DX
INC CX
JMP NEXT2
OK: MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
CMP CX,0
JE FINISH
NEXT3: POP DX
ADD DL,30H
MOV AH,02H
INT 21H
LOOP NEXT3
FINISH: MOV AH,4CH
INT 21H
CSEG ENDS
END START本回答被提问者采纳
第2个回答  2019-12-24
SSEG
SEGMENT
PARA
STACK
DW
256
DUP(0)
SSEG
ENDS
DSEG
SEGMENT
SHOW
DB
'SUM=','$'
DSEG
ENDS
CSEG
SEGMENT
ASSUME
CS:CSEG,DS:DSEG
START:
MOV
AX,DSEG
MOV
DS,AX
MOV
DX,OFFSET
SHOW
MOV
AH,09
INT
21H
MOV
CX,100
XOR
AX,AX
NEXT1:
ADD
AX,CX
LOOP
NEXT1
MOV
BX,10
NEXT2:
CMP
AX,10
JB
OK
XOR
DX,DX
DIV
BX
PUSH
DX
INC
CX
JMP
NEXT2
OK:
MOV
DL,AL
ADD
DL,30H
MOV
AH,02H
INT
21H
CMP
CX,0
JE
FINISH
NEXT3:
POP
DX
ADD
DL,30H
MOV
AH,02H
INT
21H
LOOP
NEXT3
FINISH:
MOV
AH,4CH
INT
21H
CSEG
ENDS
END
START
第3个回答  2008-06-03
main( )
{ int i, sum=0;
for( i=1; i<=100; i+ + ) sum+ = i;
printf(“sum=%d\n”, sum);
}
第4个回答  2008-06-03
dim a,i
j=0
for i=1 to 100
a=i+i
next
response.write a
相似回答