请问下面的单片机汇编程序是哪里出问题? 谢谢 用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指令不能去掉 再进行修改 使答案正确 展开
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指令不能去掉 再进行修改 使答案正确 展开
3个回答
展开全部
40H里边是个什么数据?ORG 0010H是哪个功能的入口?有没有回避?然后,查表可以放在存储器的任何位置,不至于那么抠门放在第十位,很容易让前面的数据超过他
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV SP,#80H
······
这是我编AT89S52汇编常用的开头,00~30H是设置中断入口,受保护的。在那儿开始指令当然有问题喽!且最后也不能“ORG 0010H” 再定义字符段,直接更在“HERE :SJMP HERE”后就行了。
JMP MAIN
ORG 0030H
MAIN:
MOV SP,#80H
······
这是我编AT89S52汇编常用的开头,00~30H是设置中断入口,受保护的。在那儿开始指令当然有问题喽!且最后也不能“ORG 0010H” 再定义字符段,直接更在“HERE :SJMP HERE”后就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询