Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/20/09 00:27
Read: times


 
#166272 - I can't totally disagree ... it's a matter of degree
Responding to: ???'s previous message
David Prentice said:
As Per and Andy have noted, it is not difficult to write portable code. High level logic is generally independent of a compiler or platform.

The low-level differences can still be covered in C in most cases with some conditional code and use of a "compatibility.h" header.

This is not to say that there is no room for ASM, but the programmer who writes the portable code in the first place is a lot more desirable. He still has to know the specific operation of the target microcontroller.

But there is nothing to stop Richard writing non-portable code that requires his excellent skill to maintain. And if it is ever necessary to move to another architecture, his excellent skills at re-writing in a completely new non-portable way can be used again.

As any assembler programmer is well aware, 90% of the cpu time is taken up by 10% or less of the code. The application written in the HLL can often achieve very respectable efficiency with some minor tweaking in ASM.

Experience has taught me that it's seldom a matter of "tweaking" and that no more than half the number of lines of code are in whichever HLL one chooses. The rest is in ASM, because one needs ASM to control the hardware. That's one reason I'd prefer to write the "main" function in ASM and have callable routines in 'C' where it is easier to express a computation in 'C' than in ASM, which is often the case. However, much of the time, when one does that, the routine could be expressed quite concisely in ASM and end up quite a bit smaller and faster. When it's not time- or size-critical, I think the HLL might be a wise choice. I've seen examples, however, where a <10-line 'C' segment compiles into a 60-line ASM code block ... one that, by hand, can be reduced to <10 lines of ASM consuming less time and code space.

Now I don't care about compatibility between compilers. I want ONE compiler to handle all the cores I use. That will probably never happen. I don't even have total compatibility between the various assemblers I use.

David.

If the 10% of the code to which you refer is doing useful work, I'd be happy, but often it's auto-generated code that suffers in performance from the overhead imposed by the compiler. It doesn't always matter, but it certainly can matter.

RE

List of 95 messages in thread
TopicAuthorDate
What's wrong with gimme code?            01/01/70 00:00      
   Mainly            01/01/70 00:00      
      I agree with Jez Smith            01/01/70 00:00      
         Non academic gimme code?            01/01/70 00:00      
            This makes me very suspicious            01/01/70 00:00      
            gimme code=my own time is too valuable            01/01/70 00:00      
               Easy to see which is school assignment            01/01/70 00:00      
                  The wise student needs pointers, not complete solutions            01/01/70 00:00      
            "Here's what I've come up with ...            01/01/70 00:00      
               But what's wrong in asking for an example implementaton?            01/01/70 00:00      
                  The teacher recognises the good student            01/01/70 00:00      
                     Now there's a laugh if ever there was one ...            01/01/70 00:00      
                  nothing IF ...            01/01/70 00:00      
            children should do their own homework            01/01/70 00:00      
   What's wrong with gimmee code.            01/01/70 00:00      
   Sounds Like; Whats wrong with Spoon Feeding..?            01/01/70 00:00      
      perhaps it enables ...            01/01/70 00:00      
         Generic solutions applicable to more people            01/01/70 00:00      
         Then they'll become expert at potty ...            01/01/70 00:00      
   it makes you dumb!            01/01/70 00:00      
   How'd you like ten of those guys working for you?            01/01/70 00:00      
      But that's the point!            01/01/70 00:00      
         We agree in principle, Kai ... but ...            01/01/70 00:00      
         Hiring & firing is expensive!            01/01/70 00:00      
            and that's not all!            01/01/70 00:00      
   As an example            01/01/70 00:00      
      No-one is suggesting breach of copyright            01/01/70 00:00      
         arrogance?            01/01/70 00:00      
            Examples of Erik's arrogance            01/01/70 00:00      
               no, I do not state any such,            01/01/70 00:00      
                   A couple of corrections            01/01/70 00:00      
                     more useful product?            01/01/70 00:00      
         life is not B&W            01/01/70 00:00      
            Good help _is_ to a big part to give hints            01/01/70 00:00      
               Votes and freedom of speech?            01/01/70 00:00      
               When I was a youngster ...            01/01/70 00:00      
                  Returning to the original subject.            01/01/70 00:00      
                     same same but sometimes different            01/01/70 00:00      
                     Since you like AVRFREAKS so much ...            01/01/70 00:00      
                  Versatility and diversification            01/01/70 00:00      
                     This is 8052.COM            01/01/70 00:00      
                  and.....            01/01/70 00:00      
         There's always help for those who can do their own work.            01/01/70 00:00      
            There's the key!            01/01/70 00:00      
         that is not the issue            01/01/70 00:00      
            I'm with you 100% on that, Erik            01/01/70 00:00      
               calm down Richard            01/01/70 00:00      
                  support for more MCU's makes it more widely useful            01/01/70 00:00      
                     it?            01/01/70 00:00      
                        Which MCU's will KEIL support?            01/01/70 00:00      
                           Irrelevant            01/01/70 00:00      
                              Keil's blind spot            01/01/70 00:00      
                                 Keil will probably get squeezed            01/01/70 00:00      
                              If only that were the case            01/01/70 00:00      
                                 Portable 'C' [edited]            01/01/70 00:00      
                                 Write what you mean or mean what you write            01/01/70 00:00      
                                    OK ... Here's the point            01/01/70 00:00      
                                       If bugs is a big problem - consider your compiler choices            01/01/70 00:00      
                                 C is not that difficult            01/01/70 00:00      
                                    I can't totally disagree ... it's a matter of degree            01/01/70 00:00      
                                    Richard misses the point completely            01/01/70 00:00      
                  The thing is...            01/01/70 00:00      
                     I don't think thats true at all            01/01/70 00:00      
                        Not what I meant            01/01/70 00:00      
                           Andy's right!            01/01/70 00:00      
         elders and betters would have given a helpful reply.            01/01/70 00:00      
   If you think 8052.com is bad ...            01/01/70 00:00      
   When was it the last time someone asked for code?            01/01/70 00:00      
      oohhh            01/01/70 00:00      
      Here?            01/01/70 00:00      
      Latest example of "Gimme Code"            01/01/70 00:00      
   What the forums are all about            01/01/70 00:00      
      Progress            01/01/70 00:00      
         No, don't agree with "exhausted all the possibilities"            01/01/70 00:00      
            patience            01/01/70 00:00      
         inexperienced            01/01/70 00:00      
            Well actually...            01/01/70 00:00      
               you must have a very smart wife            01/01/70 00:00      
                  If you're a friend ;-)            01/01/70 00:00      
      arrogant?            01/01/70 00:00      
         encouragement            01/01/70 00:00      
            absolutely            01/01/70 00:00      
            What you have to remember            01/01/70 00:00      
               Tim Berners-Lee            01/01/70 00:00      
                  he only invented the web thingy            01/01/70 00:00      
                     Exhausted all the possibilities...            01/01/70 00:00      
                        this is just not fair            01/01/70 00:00      
                           It's about attitude            01/01/70 00:00      
                              on intentions etc.            01/01/70 00:00      
                              98% of 100            01/01/70 00:00      
                           good and bad            01/01/70 00:00      
      OK Charles (et al), here's your chance!            01/01/70 00:00      
         re: OK Charles here's your chance            01/01/70 00:00      
            QED.            01/01/70 00:00      
            Yet one more exhausted visitor            01/01/70 00:00      

Back to Subject List