汇编语言编程:1 + 2 + 3 + 4 + 5 + …… + n
2016-01-25 11:49
295 查看
用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://img.bimg.126.net/photo/mbiQ-Vsr8X3jA4LPMU4reQ==/3721380667108704308.jpg)
;==============================================
原题网址:http://zhidao.baidu.com/question/284141341.html
回答时间:2011-6-25 23:15
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:谢谢你,辛苦了!
;==============================================
悬赏分: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://img.bimg.126.net/photo/mbiQ-Vsr8X3jA4LPMU4reQ==/3721380667108704308.jpg)
;==============================================
原题网址:http://zhidao.baidu.com/question/284141341.html
回答时间:2011-6-25 23:15
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:谢谢你,辛苦了!
;==============================================
相关文章推荐
- 汇编语言编程:按照凯撒密码的规则加密
- 用80x86汇编语言编程:分类统计字符个数
- 三层登录——VB.NET版
- Python 字符编码学习-ascii编码,Unicode和UTF-8之间的关系
- 51单片机汇编语言编程:开关控制计时
- 用80x86汇编语言编程:键盘输入与显示输出
- 用80x86汇编语言编程:输入后反序显示
- 基于51单片机的交通灯C语言程序设计
- 用C语言编写程序,判断输入的一个字符串是否是回数
- 关于C语言延时时间的问题
- Python开发基础-day2
- 51单片机,C语言编程,控制指示灯闪烁的频率
- C语言编程:密码解密
- C语言编程:大小写互换
- c语言编程:字符串反序并输出
- 想跟着 Google 首席科学家免费进阶机器学习吗
- C++中的单例模式
- sublime 搭建 C++ 开发环境
- MyEclipse开发REST Web Service
- 单片机C语言编程:按键、计数及显示