Im on a new computer, trying to use the A51 assembler. In a command prompt window, I can type "A51 some_file.asm" and the assembler will load, however, it will give me a fatal error with the error being an unknown control. I am not using any control directives but when I do, I still get the same issue. My path and environment variables (C51LIB and C51INC) were set to the directory where they were installed, am I missing something?
I am not using any control directives
How did you ensure that? And how is anybody supposed to help you with that without you showing an actual source file that did produce that effect, and the actual error message, exactly as it appeared?
Same problem here, UNKNOWN CONTROL (The selected control parameter is unrecognized by the compiler)
I am using C51 COMPILER V3.20 in the XP command-box. Code was buildable 20 years ago, has not been touched since then.
Environment and library-paths are set correct
Any idea?
You have a file and/or folder name with a space (or spaces) in it.
But, surely, the message also tells you what it considers to be the "UNKNOWN CONTROL"...?
@Andy: I first thought that too! But when I just try to call:
c51.exe mm75_ltr.c the error appears, altough there is no space in it
Post the full text of the command and response - copy & paste from your "XP command-box"
MS-DOS C51 COMPILER V3.20 COPYRIGHT KEIL ELEKTRONIK GmbH 1988, 1989, 1990 C51 FATAL-ERROR - ACTION: PARSING INVOKE-/#PRAGMA-LINE LINE: E:\PL_IS\D30_IS~1\TOOLS\C51\BIN\C51.EXE ..\SOURCES\LTR_MM75.C ERROR: UNKNOWN CONTROL C51 TERMINATED.
http://www.keil.com/support/man/docs/c51/c51_er_actions.htm
www.fsinc.com/.../com97g6.htm
Thanks Andy. I already found these sites, but there was no helpful hint, or I just didn't recognize it. But meanwhile I found the simple solution:
One directory in my path had more than 8 characters, that was all. So I shortened it and now it works. :D
"One directory in my path had more than 8 characters"
Clearly, 20-year-old tools were never designed to cope with that!
Problem Solved: Sorry it took so long to get back, very busy week at work! The problem was solved a few days ago. The way our computer system was setup, the compiler/linker/assembler was installed over the network for employee use. What I did (too bad I didn't think of this sooner) was copy the directory the files were stored in to my local machine. The files were put in C:\work\keil and all I had to do was edit some of my environment variables (System Poperties -> Advanced -> Environment Variables). The Path variable gets modified so "C:\work\keil" is at the end and I created C51INC variable with path "C:\work\keil\inc" and C51LIB with path "C:\work\keil\lib".
My next try was to recompile and everything worked, no errors no warnings. Hope this helps