请问下面的单片机汇编程序是哪里出问题? 谢谢 用AT89S52芯片

ORG0000HSTART:MOVA,40HADDA,#04HMOVCA,@A+PCNOPMOV41H,AHERE:SJMPHEREORG0010HSQR:DB00H,0... ORG 0000H
START: MOV A, 40H
ADD A, #04H
MOVC A, @A+PC
NOP
MOV 41H, A
HERE :SJMP HERE
ORG 0010H
SQR:DB 00H, 01H, 04H, 09H, 16H
DB 25H, 36H, 49H, 64H, 81H
END
40H单元中的内容为0-9之间的一个整数,用查表的方法求出它的平方值,结果存入41H。
其中的NOP 与 ORG 0010H指令不能去掉 再进行修改 使答案正确
展开
 我来答
47okey
2011-05-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2318万
展开全部

你想实现什么?

MOVC  A,     @A+PC

A为4,PC为0005H 

A+PC=0009H 

0009H是NOP的操作数 EFH。不知作什么了。 

根据你的补充才知道什么用的,ADD   A,    #08H 这样改就可以了。

追问
可是我试过几次还是不正确啊  怎么办的
追答
你40H的数怎么放进去的?
新店之男
2011-05-14 · TA获得超过922个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:360万
展开全部
40H里边是个什么数据?ORG 0010H是哪个功能的入口?有没有回避?然后,查表可以放在存储器的任何位置,不至于那么抠门放在第十位,很容易让前面的数据超过他
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户69772
2011-05-14
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV SP,#80H
······

这是我编AT89S52汇编常用的开头,00~30H是设置中断入口,受保护的。在那儿开始指令当然有问题喽!且最后也不能“ORG 0010H” 再定义字符段,直接更在“HERE :SJMP HERE”后就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式