关于初学汇编语言的问题

MOVR0,#30HMOVR5,#05HMOVB,R5CLRAUP:ADDA,@R0INCR0DJNZR5,UPDIVABSJMP$为什么说B没定义?怎么改?下面这句话什... MOV R0,#30H
MOV R5,#05H
MOV B,R5
CLR A
UP:ADD A,@R0
INC R0
DJNZ R5, UP
DIV AB
SJMP $
为什么说B没定义?怎么改?下面这句话什么意思?

UP:ADD A,@R0
INC R0
DJNZ R5, UP
DIV AB
SJMP $
展开
 我来答
zirwy
2010-10-20 · TA获得超过493个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:125万
展开全部
楼上不要混淆了,楼主写的是51单片机的汇编语言,而你说的是8086的汇编语言,两者是不一样的。

楼主的程序,我在uVison中编译过,是没有出错的,并没有说B未定义,请楼主仔细核对,是否其他地方输入的问题。

下面这段程序做的事情应该是求位于片内RAM30H开始的5个数的平均值,具体注释如下:
UP:ADD A,@R0 ; 将A与R0指向的片内RAM单元中的内容相加
INC R0 ; R0指向下一存储单元
DJNZ R5, UP ; 控制UP循环执行5次,就是讲R0指向的30H开始的5个单元与累加器A相加,共循环5次,由于A初值为0,所以实际上这这5个单元的内容相加的
DIV AB ; A除以B,B的初值就是个数5,即求平均值,不过该平均值的商位于A中,余数位于B中
SJMP $ ; 程序停止
mzcheng1
2010-10-20 · TA获得超过300个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:219万
展开全部
你在data segment里面加入
B dw ?

第二个意识是循环,然后除于AB
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式