[Coco] RE: Learning MW C (REALLY!)

John Donaldson johnadonaldson at sbcglobal.net
Tue Aug 15 22:08:27 EDT 2006


   I have a signed copy of K&C C. I happen to meet the two gentlemen at 
a trade show back in the late 80's and had a new copy of the book with me.

John Donaldson



Ries, Rich [S&FS] wrote:

>-----Original Message-----
>  
>
>>Message: 1
>>Date: Tue, 15 Aug 2006 01:17:38 -0500
>>From: "George's Coco Address" <yahoo at dvdplayersonly.com>
>>Subject: Re: [Color Computer] [coco] Learning MW C (REALLY!)
>>To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
>>Message-ID: <008401c6c032$85e8c480$ecb8b1d8 at heart>
>>Content-Type: text/plain; format=flowed; charset="iso-8859-1";
>>	reply-type=original
>>
>>The C Programming Language, by Kernighan and Ritchie
>>
>>This book is readily available and from what I've read, it's a good
>>    
>>
>source on the K&R C.
>  
>
>>I also found what seems to be a good suppliment for this book available
>>    
>>
>beginning here:
>  
>
>>http://c-faq.com/~scs/cclass/krnotes/index.html
>>
>>This, I think, would be a great start once I learn how to use the OS-9
>>    
>>
>software that is needed to 
>  
>
>>compile whatever it is I might try.
>>
>>I would expect that whatever I can learn in the book and the online
>>    
>>
>suppliment would work with the OS-9 
>  
>
>>compiler but, correct me if I am wrong.
>>
>>The book that came with the C-Compiler for OS-9 claims an almost
>>    
>>
>perfect implementation of the K&R C. 
>  
>
>>There are five instances mentioned in this book whick are exceptions.
>>    
>>
>The OS9 book also mentions the 
>  
>
>>K&R book as a reference. pp 1-2
>>
>>Tomorrow, I'm going to begin reading this OS-9 book and try to
>>    
>>
>understand the process of compiling the 
>  
>
>>simple "Hello World" thing before I actually begin trying to compile
>>    
>>
>the simple "Hello World" thing. 
>  
>
>>That's where I went wrong several years ago. I didn't start with the
>>    
>>
>basics.
>  
>
>>George
>>
>>    
>>
>
>
>Hello, George!
>  This was my experience; yours may vary!
>I had trouble getting my head around the uWare C, and most of the books
>I had were ANSI-based, which caused more grief. (I didn't get K&R's book
>until much later...) 
>
>All that just to say, if you need help, give me a holler! I make a
>living using a "kinda-ANSI/kinda K&R" C for microcontrollers, so I may
>be able to help you out. My CoCo system is still packed away, so
>questions like "what bit should I twiddle?" will result in "Beats me!"
>answers. :D
>
>One Very Important Thing in C is to keep the braces lined up, and
>matched. For this alone I would develop my C on a PC (ugh!) machine with
>a modern editor that can show the matching brace, parenthesis, or
>bracket marks. Then I'd download it to the CoCo.
>
>My other problem was remembering if | was logical or bitwise OR. The
>same for && and ^. I finally wrote a header file that I can #include in
>my files. (Drives everyone else crazy, but...) Here it is:
>
>[code]
>/* Logical operators */
>    #define L_AND &&
>    #define L_OR  ||
>    #define L_NOT !
>
>/* Bitwise operators */
>    #define b_and &
>    #define b_or |
>    #define b_xor ^
>    #define b_not ~
>
>/*.
> *  'Cause most C's don't have a "0b10100101" construct,
> *  and it's really handy with micros.
> */
>
>    #define b(b7,b6,b5,b4,b3,b2,b1,b0)
>((b7*128+b6*64+b5*32+b4*16+b3*8+b2*4+b1*2+b0))
>
>/*
> * Bit operations -
> *   Note there is no limit to how many bits are in a byte.
> *
> *           tobit(20000) will work....
> *
> */
>    #define tobit(x) (1 << ((x)))
>
>    #define setbit(bitno,byt) (  (byt) |=  (tobit(bitno)))
>    #define clrbit(bitno,byt) (  (byt) &= ~(tobit(bitno)))
>    #define isset(bitno,byt)  (  (byt) &   (tobit(bitno)))
>    #define isclr(bitno,byt)  (!((byt) &   (tobit(bitno))))
>[/code]
>
>You'll notice the logical operators (L_NOT, etc.) were borrowed from
>BASIC09, and the bitwise operators (b_and) followed logically from them.
>
>Good luck in your projects!
>
>--Rich
>
>
>
>  
>





More information about the Coco mailing list