汇编S=1+2+3+4+5+6+++++N

编制程序计算S=1+2+3+4+5+6+7+8+9+++++++++++N直到累加和大于5000为止.累加和送SUM单元,统计被累加的自然个数CNT单元.这就是完整的题目... 编制程序计算S=1+2+3+4+5+6+7+8+9+++++++++++N直到累加和大于5000为止.累加和送SUM单元,统计被累加的自然个数CNT单元.这就是完整的题目.谢谢大叔大妈.大姐小妹.大哥小弟. 展开
 我来答
匿名用户
2010-06-01
展开全部
DATAS SEGMENT
;此处输入数据段代码
SUM DW ?
CNT DW ?
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
XOR AX,AX ;累加数,保存累加结果
;因为AX开始不大于5000,AX最大能保存十进制无符号数65535,所以用一个16位寄存起来保存结果就已经足够
XOR BX,BX ;加数,同时也是循环进行累加运算的循环循环次数N,也是循环结束后得到的最大加数N
L1:
INC BX
ADD AX,BX
CMP AX,5000 ;累加结果与5000比较
JNA L1 ;不大于5000则继续循环

MOV SUM,AX ;计算结果为5050
MOV CNT,BX ;累加的自然数个数为100个
MOV AH,4CH
INT 21H
CODES ENDS
END START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1a4c3ca0d
2010-05-31 · TA获得超过2707个赞
知道大有可为答主
回答量:1449
采纳率:0%
帮助的人:1849万
展开全部
code segment;
assume cs:code,ds:code
org 100h ;COM格式
start:
push cs
pop ds
xor ax,ax
mov bx,ax
next:
inc bx
inc CNT
add ax,bx
cmp ax,5000
jbe next
mov SUM,ax
lea dx,mes2;提示完成
mov ah,9
int 21h
mov ah,0;暂停
int 16h
mov ah,4ch;结束
int 21h

CNT dw 0 ;统计被累加自然数的个数
SUM dw 0 ;放累加和
mes2 db 0dh,0ah,09,'Save done! $'
code ends
end start
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寂影无形
2010-06-03 · TA获得超过331个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:263万
展开全部
#include<stdio.h>
void main()
{
int i,SUM,CNT;
for(i=1;i<=5000;i++)
SUM+=i;
CNT=i;
printf("%d",SUM,CNT);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式