编程实现以下运算:①S1=1+2+3+4+…+98+99+100 ②S2=1+3+5+7+9+…+99

编程实现以下运算:
①S1=1+2+3+4+…+98+99+100 
②S2=1+3+5+7+9+…+99
【正确答案】:①CODE SEGMENT
ASSUME CS:CODE
START: MOV CX,100
MOV AX,0
MOV BX,1
LP:  ADD AX,BX
INC BX
LOOP LP
;此时AX中即为1+2+…+100的值
    ︰
CODE  ENDS
END START
②CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,0
MOV BX,1
LP:  CMP BX,100
JAE DONE
ADD AX,BX
INC BX
INC BX
JMP LP
DONE: ;此时AX中已经是100以内所有奇数之和
【题目解析】:第1小题:把循环次数100送入CX,把0存入AX,作为和,把1存入BX,作为加数,进入LOOP循环,让AX与BX相加,和存入AX,让BX加1,继续循环,直到把100加完。此时AX就是1+2+3+..+100的和。
第2小题:把0存入AX,作为和,把1存入BX,作为加数,让BX与100比较,如果大于等于100,则跳转到DONE处,表明AX中已经是1+2+..+99的和,如果小于100,就让AX与BX相加,和存入AX,让BX加1再加1,即加2,表示下一个奇数。跳转到LP处,继续比较,直到把99加完。