你好,我keil编译了一个简单查表程序,出现错误,提示是语法错误,不知如何?谢谢!

ORG 000H
MOV A,#03
ACALL SQR
MOV R1,A
MOV A,#04
ACALL SQR
ADD A,R1
MOV R1,A
SQR:INC A
MOVC A,@A+PC
RET
TAB: DB 0,1,4,9,16, //提示说这行出现语法问题
DB 25,36,49,64,81
END

TAB: DB 0,1,4,9,16, ;16后面那个逗号去掉追问

谢谢,刚提问完发现多了个逗号,呵呵。。另外若去掉第八行的mov r1,a . 虽编译成功但查看 a的值怎没变化?

追答

你的程序 有点问题
ADD A,R1
MOV R1,A ;这条运行后,接下去是到子程序了,不对。子程序是用来调用的。
SQR:I
NC A

追问

子程序是被调用,MOV R1,A 这句只是将结果传给R1,若去掉这句就将结果直接给了A,为何编译后A的值没变化。

追答

会变。
你是用keil?

追问

可是没变啊。。。。。

追答

是keil吗?

温馨提示:内容为网友见解,仅供参考
无其他回答

keil调试时老是出现这个:*** error 65: access violation at C:0x...
首先打开Keil软件,打开一个工程,点击keil的编译图标,编译软件。2.确保已经连接了仿真器,而且已经给MCU上电,然后下载程序,等待下载完成。3.软件程序下载完成,现在就完成了程序下载,可以开始仿真了。4.单击软件的调试图标,进入软件调试模式。5.现在就已经打开运行模式。6.单击全速运行,运行软件仿真。

C语言 keil中的错误 高手啊
肯定那个位置出现注释没合上。。。 zzx0031 | 发布于2012-12-17 举报| 评论 0 1 没有结束的注释 xiongjianke | 发布于2012-12-17 举报| 评论 1 2 注释未结束 ,把注释用*\/括回来 ygy3389 | 发布于2012-12-17 举报| 评论 0 1 为您推荐: keil找到错误 keil编译 keil L15什么错误 ke...

KEIL编译错误error C236
把上面两个函数名字改一下试试,将前面的下划线改到后面。我记得有的编译器在C语言的函数名前加上下划线作为汇编的函数名,如果是的话,第一个函数汇编后就和第二个函数重名了。另外,查一下函数声明时的参数列表和函数定义时以及函数调用时的参数列表是否一致,

keil软件中编译的时候出现警告:missing return value,而且始终在同一行...
你的函数里少了返回值,检查一下你需要这个函数返回的值并加上,若不需要返回值,就在函数前加Void。 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 16 1 aebsfb 采纳率:50% 擅长: 暂未定制 为您推荐: keil uvision4怎么用 编译程序 keil 编译 编译原理 keil重新编译 keil编译在哪儿 keil的编译...

keil编译后code的大小问题
你第一条是个错误的,得到的结果恒0 而第2条语句,先是计算 res*625,再去计算除法,这样,不会出现常数结果,所以耗时比第一条语句大。如果你的结果要求比较准确,我建议你用第三条语句,虽然费时间。另外,你完全可以用查表法来完成,而不必要用浮点数计算,毕竟51单片机的能力比较差。

F:\\LED.C(9): error C141: syntax error near '=' 这是什么意思
意思是:"="附近有语法错误。具体错误:"="是赋值符号,前者不能是表达值,而应该是变量,如:a = 2 * 3是正确的,2 * 3 = a,是错误的,题中大量出现"="前有异或运算符"^",所以才有报错 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 imkarayi9d4f 2017-09-04 · TA获得超过1464个赞 知...

keil不能生成hex文件
首先~~你的keil版本,有些该死的试用版是生成不了的,或是没有注册的话,也有可能生成不了;再有~我昨天才刚遇到的问题···WINDOWS重装之后,KEIL也顺带重装一次吧,要不也是生成不了的。另外系统的注册表要是乱七八糟的话,也会影响KEIL。还有,KEIL的安装目录越短越好,如d:\/ 工程文件的存放...

keil stm32中go to definition不能使用,出现browser的窗口.求大神解答...
那是因为你go to definition的标识符在你的文件中有多次被定义,keil不能知道你需要的是那个,所以给出你browser窗口,让你自己去找.你把browser窗口向上调大一些,就能看到你要找的标识符的所有列表,你单击列表中的一个标识符,在右边的窗口会给出这个标识符在本文件内的所有连接,其中第一个是定义,其余...

...keil编程中我把data数据改成xdata类型,编译无误,但程序运行不了!为...
可定跑不起来。而且我有一点疑问的是你把data用了接近128 Bytes,你主函数定义的变量很多还是用了iteration?我怀疑你是不是data空间里面你是不是很多的constant,constant建议放在内部FLASH中,使用movc @dptr查表。可以用pdata申明变量,用mov @Ri间接寻址方式访问内部全部的256bytes空间!

用89s51设计1个记录时间间隔并显示的电路图
然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,...

相似回答
大家正在搜