;In my program code file: After beening assembled, there are many surprising errors. The detail error are shown as follow. mov r8, #3F7Bh; The error message is "error a6: SYNTAX ERROR" addc r9, #0Fh; The error message is "OPERAND TYPE MISMATCH" I have identified the codes of above instructions are right. Furtherly, these errors did not appear in every code file. I am stopped by the puzzle. My software condition: KEIL uVsion2 for C166 Processor: C167CR-LM
Hmmm, I just tried both of those lines of code in C166 V5.05 and I get no errors or warnings. Jon
I have no idea; however maybe this is related to an experience I had ages ago. I delivered "well tested" software and immediately got "this piece of crap" back. I tested again, found nothing wrong and resubmitted and the same happened. It turned out to be the tester separating the entries by an "exotic" but legal means (which did not work) and I, being a simpleton, just used the spacebar. Maybe it is in the separatition Bohua, where addc r9, #0Fh; fail try this <s>addc<s>r9,#0fh; <s>signifies ONE space Erik
You seem to be using the semicolon as a statement terminator - like in 'C'. Is this OK? Try looking at your source file in a hex viewer, and check for any unusual characters. Also check that the line terminators are correct.
Thanks for so many proficients help. now,i find my problem mostly like the problem shown in the follow link: http://www.keil.com/support/docs/2023.htm But i can not get the ATTACHED FILES. Do me a favor,who can give me the attach files? maybe,it is a patch for the keil.
"Do me a favor,who can give me the attach files?" There is a link you can click on that page to request the files.
There is a link you can click on that page to request the files Yes, but that requires that he is "legal" Erik
But,the web notified me that my C166 Serial Number was not right. My C166 Serial Number is :XXXXX-XXXXX-XXXXX
on that issue I suggest you contact Keil Tech support directly, no one in the forum can help you there. Erik
"But,the web notified me that my C166 Serial Number was not right." Note that serial numbers have an expiry date - this is shown in uVision Help/About. If your serial number has expired, you need to buy a new one - again, you will need to contact Keil direct for that.
I have get over the problem. which line that the keil reports error message is NOT the actual line where some errors happened. This is a big lesson for me. Furtherly , i find that KEIL CAN NOT REPORT THE PRECSION LINE NUMBER OF HAVING ERROR IF YOU PROGRAM HAS MORE THAN 65536 LINES. Of course, the error must have happened in the line beyong 65536 line codes. If this happened, the actual line number is (message line +65536*n) thanks for all the help
"which line that the keil reports error message is NOT the actual line where some errors happened." That is normal behaviour for any 'C' compiler with certain types of error such as missing semicolons or closing braces. "KEIL CAN NOT REPORT THE PRECSION LINE NUMBER OF HAVING ERROR IF YOU PROGRAM HAS MORE THAN 65536 LINES" I presume you mean 'if a single source file has more than 65536 lines'. I guess they (probably quite reasonably) thought nobody would do that.
"My C166 Serial Number is :XXXXX-XXXXX-XXXXX" I'm absolutely certain that isn't right!
"i find that KEIL CAN NOT REPORT THE PRECSION LINE NUMBER OF HAVING ERROR IF YOU PROGRAM HAS MORE THAN 65536 LINES." As if you needed one, isn't that reason enough to keep your files under 64K lines?!
"My C166 Serial Number is :XXXXX-XXXXX-XXXXX" And my password is: ******** I find this works everywhere!
65k lines in a single source file!? Are you writing your autobiography or a program for an embedded system?