We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I was hoping to find on-line manuals that I could print and read on the john. So far no luck. But what I really need is how to declare variables in C.
For example, I have a sample code that has the statement:
unsigned char
and
unsigned long
What do these mean and do they limit the declaration to integers. What do i declare if I want a floating point?
Also, someone told me I cant do floating point with a Keil Compiler because of licensing issues (I got my copy from Silicon Labs and have just registered it). I will eventually need to do trig functions. What do i have to get (buy) to complete my project?
If the C bots could get rid of "unsigned character", when they mean "byte",
typedef unsigned char byte;
allow base 2 in the source,
There are some #define tricks to do something along those lines. Or write your own preprocessor.
and get rid of most of the darned braces I would be happy to meet 1/2 way.
#define { BLOCK_STARTS_HERE #define } BLOCK_ENDS_HERE
Then again, I don't think this is any better than using braces. ;)
And you can probably write C code without using any more braces than required for enclosing functions in, I think. However, this would probably result in some of the most mindbogglingly convoluted C code that was ever written (since it would require heavy use of gotos, omitting most control structures, etc).
Compound statements ("blocks") are a basic element of structured programming.
The size difference between assembler and C can also come from calling a C RTL that drags in large blocks of library code. This quickly offsets the quota between C and assembler for smaller programs.
Having a look at the list files should make it clear where the C program is burning those extra 3k.
First; Andy, thanks for the link to the nop info.
Also guys, I take your point about #defining, C does have enough higher level functionality to make it very usable. I think my overall point is, should a high level language mean you have to remember dozens of tokens and their weird variants? More pertinent, writing effectively for embedded 8bit hardware really does call for a lot of bit twiddling. It is so easy when you can see the binary on the page rather than converting to and from hex on a handy jotter. Less room for error too. I want compact runtime output but I can't see any need for especially compact source code, quite the reverse really. The closer I can get to natural English the better.
Sorry Lou, I'm being nostalgic. PLM was a family of languages designed by Intel for embedded work with their uCs and Ps. Based on IBM's PL/1 mainframe language and very popular in the 70's and 80's. The code output was phenomenally compact. I wrote 1000s of lines of assembler for the 80188 and 8051. When I started using PLM I was sceptical about efficiency but could rarely improve on the compiler with hand coding. Maybe I'm just a lousy assembly programmer and a grumpy old man.
Good to see a vigorous forum here anyway. I'll shut up now and get back to work.
en.wikipedia.org/.../M
Holy cow, Rob, you're an old relic :-)
I must admit I have never heard of PL/M before you mentioned it - I was not even born when it was conceived...
True, but many a fine tune played on an old fiddle. I was years away doing VHDL and just got back to the '51, using C this time round.
"Old engineers never die they just get noisy and attenuated"
PLM51 is quite nice. It adds structure similar to C, but limits the possible declarations a bit to make sure that you can't write processor-hostile constructs.
No more than two months since last I had to look at a PLM51 program - some products just refuses to die :)
I still have PLM51 and '86 compilers/linkers I have the compiler manuals but the linker manuals went south a long while ago. I would love to find copies of these again. Anyone?
Regards
I would love to find copies of these again.
Yes, I worked in PLM51 as well. And, I have all of the original Intel manuals (in the silly printed semi-half-page format). If you're ever in Dallas, look me up.
Jon
Hi, the www is just amazing. But hey, look after them, its mostly nostalgia working but I might just call by one day. Regards :-)