用80x86汇编语言编程:1 + 2 + 3 + 4 + 5 + …… + n,和小于100,在屏幕上显示次数和结果。
悬赏分:0 | 解决时间:2011-6-26 15:52
;==============================================
最佳答案:
;1+...+n < 100
;----------------------------------------------
DATA SEGMENT ;数据段
i DW 1
sum DW 0
DATA ENDS
;----------------------------------------------
CODE SEGMENT ;代码段
ASSUME CS: CODE, DS: DATA
START:
PUSH CS
POP DS
MOV i, 1
MOV sum, 0
LOP:
MOV AX, sum
ADD AX, i
CMP AX, 100
JNB EXIT
MOV sum, AX
MOV AX, i
CALL PRINTAX
MOV DL, ':'
CALL PUTC
MOV DL, ' '
CALL PUTC
MOV AX, sum
CALL PRINTAX
INC i
CALL OUT_0D0A
JMP LOP
EXIT:
MOV AH, 4CH
INT 21H
;------------------------------
PRINTAX PROC ;
MOV BX, 10 ;
OR AX, AX
JZ _0_
LOOP_P:
XOR DX, DX
DIV BX
MOV CX, AX ;
OR CX, DX
JZ _E_ ;
PUSH DX ;
CALL LOOP_P
POP DX ;
ADD DL, '0' ;
JMP _1_
_0_:MOV DL, '0' ;
_1_:CALL PUTC
_E_:RET
PRINTAX ENDP
;------------------------------
PUTC PROC
MOV AH, 2
INT 21H
RET
PUTC ENDP
;------------------------------
OUT_0D0A PROC ;回车换行.
MOV DL, 13
CALL PUTC
MOV DL, 10
CALL PUTC
RET
OUT_0D0A ENDP
;------------------------------
CODE ENDS
END START
;==============================================
程序运行后屏幕显示的画面如图所示:
;==============================================
原题网址:http://zhidao.baidu.com/question/284141341.html
回答时间:2011-6-25 23:15
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:谢谢你,辛苦了!
;==============================================