编程实现以下运算:
①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加完。
编程实现以下运算:①S1=1+2+3+4+…+98+99+100 ②S2=1+3+5+7+9+…+99
- 2024-09-08 13:24:21
- 汇编语言程序设计(02321)