中易网

汇编高手来帮忙,从1累加到100的程序.

答案:2  悬赏:10  
解决时间 2021-02-17 11:39
汇编高手来帮忙,从1累加到100的程序.
最佳答案
DATA SEGMENT
BUF2 DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV CX,100
KK: ADD AX,CX
LOOP KK
MOV BUF2,AX

MOV AH,4CH
INT 21H
CODE ENDS
END START
这样就行了。
1、最开始没有DATA SEGMENT
2、BUF DB 1,2,3,4,.......,100 这一行,我编译不过
3、BUF2 DW?。。问号前面要有空格。。BUF2 DW ?
4、LODE ENDS。。。是code ends
5、MOV AX,DATA MOV DS,AX。之后要mov ax,0
6、完全没有必要像你那样做。
全部回答
如果你不嫌麻烦把1,2,3,4,.......,100 这一百个数补齐,?号前加空格再修改倒数第二行LODE ENDS为CODE ENDS的话,你的程序编译通过,但我告诉你你的程序还是有问题,你定义的BUFF存放1到~100是字节型的单元,但你加的时候ADD AX,[SI] 取的数是两个单元的字,所以原来的数就不再是1到~100了,所以你还要改,把BUFF定义为DW字,后面取数时后移不是INC SI而是ADD SI,2取一个字大小的数据,但我想说其实最主要的问题是你的程序根本就没必要写这么多。。。
真正实现1加到100只需:
MOV CX,100
NEXT:
ADD SUM,CX;定义SUM=0
LOOP NEXT
完整程序加输出:
;程序实现功能:从1到100进行累加,并把计算结果保存在[SUM]单元里
DATAS SEGMENT
SUM DW 0
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,100
NEXT:
ADD SUM,CX
LOOP NEXT
CALL DISPLAY
MOV AH,4CH
INT 21H
DISPLAY PROC NEAR
;以下代码段实现输出正整型数
;**************************************************
MOV AX,SUM
MOV BX,10
CONTINUE:
CWD
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ CONTINUE
NEXT1:
POP DX
AND DX,0FFH
ADD DL,30H
MOV AH,02
INT 21H
LOOP NEXT1
;**************************************************
RET
DISPLAY ENDP
CODES ENDS
END START
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
搬家时把财神放墙角用板凳挡住是什么意思
叶罗丽精灵梦水王子是为了什么帮助女王的?
现在想在微信上卖化妆品,应该申请订阅号还是
天麒健康生活馆怎么去啊,有知道地址的么
How far it is from us?在is后面能加away吗?
电镀前处理废水怎样处理才能使沉清
乐得福卖场南港店地址在什么地方,想过去办事
1992年上海大约有多少家纺织单位
李耀君诊所这个地址在什么地方,我要处理点事
系统SAM文件看所处的路径
汉中到东莞石排怎么坐火车
有一首退伍时的歌曲,歌词好像有这么两句:我
丽莎时尚女装地址在哪,我要去那里办事
hrc64-66属于哪种硬度
查过敏原多少钱
推荐资讯
芜湖市致远贸易有限公司这个地址在什么地方,
有哪些学校有机械专业的
站桩中的高桩和低桩是什么意思?
水中含有氧气吗
When I was ten, my mother worked all day s
中国农业银行乌鲁木齐北园春支行地址在哪,我
霍山县基督教堂这个地址在什么地方,我要处理
找一部电影,内容:主人公最后发现自己所在的
相依服饰(中小学巷)在哪里啊,我有事要去这个
VFP中ODBC什么意思
请问数据库文件所在磁盘损坏后还能恢复库结构
10月23日凌晨1点出生的是什么星座
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?