用汇编语言编写一完整程序!

编写一完整程序,在存储单元中,以BUFF为首地址存放了10个无符号数(范围为0~255),求10个数的平均并存入DAT单元中。各位大哥有人给出具体的答案不?... 编写一完整程序,在存储单元中,以BUFF为首地址存放了10个无符号数(范围为0~255),求10个数的平均并存入DAT单元中。
各位大哥 有人给出具体的答案不?
展开
 我来答
ruichindia
推荐于2016-08-09 · TA获得超过215个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:156万
展开全部
;江西理工大学
;今天下午刚好咱们上机课,做了这个题,给你完整答案如下:
DATAS SEGMENT
;此处输入数据段代码
BUFF DW 5,25,55,115,138,159,196,163,20,255
DAT DW 0
SHOW DB 4 DUP(0),'$'
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV DX,0
MOV AX,0
MOV CX,10 ;循环次数设置
MOV SI,OFFSET BUFF
lop1: ;求和
ADD AX,[SI]
ADD SI,2 ;由于数据是DW的,所以地址每次加2
LOOP lop1

MOV CL,10
DIV CL ;求平均,AL存储了平均值,AH存储了余数

;MOV CL,1000
MOV AH,0 ;分解for显示,求余得到从个位到千位
DIV CL
MOV SHOW+3,AH;
ADD SHOW+3,48
;MOV CL,100
MOV AH,0
DIV CL
MOV SHOW+2,AH;
ADD SHOW+2,48
;MOV CL,10
MOV AH,0
DIV CL
MOV SHOW+1,AH;
ADD SHOW+1,48
MOV SHOW+0,AL;
ADD SHOW+0,48

MOV AH,09H ;显示输出
MOV DX,offset SHOW;
INT 21H

MOV AH,4CH
INT 21H
CODES ENDS
END START
精品建筑电气
2011-05-06 · 主要涉及建筑电气、电气自动化、电气节能。
精品建筑电气
采纳数:78 获赞数:392

向TA提问 私信TA
展开全部
简单呀,首地址为BUFF,那么可以这样编写哦:
MOV R0,#BUFF
MOV R1,#0AH //设置个数
CLR A
LOOP: ADD A,@R0
INC R0
DJNZ R1,LOOP //判断10个数加完了没有
MOV B,#0AH //设置除数
DIV AB //最后得到的结果商存于A中,有余数的话存于B中
MOV DAT,A //最后在把平均值存于DAT中

END //结尾要打end符合哦,不然会报错!

------more(单片机高手)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shbshb12
2011-05-05 · TA获得超过154个赞
知道答主
回答量:204
采纳率:0%
帮助的人:117万
展开全部
先读首地址然后地址递增相加,最后除以总数就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_fmlyht
2011-05-04 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1980万
展开全部
mov si,offset BUFF
MOV DI,OFFSET DAT
mov cx,0ah
lop10:
add al,[si]
adc ah,0
inc si
loop lop10
MOV CX,0AH
DIV CL
MOV [DI],AL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-05-07 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.5亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式