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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/18/09 13:25
Read: times


 
#168378 - That's not how it works
Responding to: ???'s previous message
Per Westermark said:
Richard Erlacher said:
A competent ASM programmer can do the job, given a reasonable macro-assembler and the same experience that a 'C' programmer would require, just as fast...

How can you say that, if you haven't spent significant time (with competent here, I assume someone who have spent year(s) in the relevant field) writing both assembler and C applications for the similar type of problem?

I can say that because much of the code I've worked on was written in ASM 20-30 years ago and the product is still in operation being used as intended, and simply required a bit of upgrading to add or support additional equipment or features.

I've spent plenty of time with HLL's, just don't use HLL with micro-controllers.

A macro may be good for copy-paste problems. But when you implement real algorithms, the regular lines of code suitable for copy-pasting, macros or similar normally represents a tiny fraction of the time needed to implement the algorithm.

It's just like instantiating a function. It's not just copy-and-paste, though folks who've never used a macro-assembler wouldn't know that.

The C compiler is not comparable to a strange macro assembler, where a C expression will map to a fixed code expansion.

What do you mean by "strange" macro-assembler? Do you simply mean one with which you're not familiar? Isn't it the same when you switch compilers?

And maintenance costs are representing a big part of the total costs for a product that is expected to live for a number of years and receive regular feature updates. Few embedded applications are just sequences of lookup tables with hardly any code in-between. And a number of studies have shown that the amount of work needed to understand source code depends on the amount of text needed to implement an algorithm. One C source line can map to many assembler lines, giving a higher code density - more work done in relation to the effort needed to understand the code.

So you believe that moving from an 805x to a M68-something or a PIC would simply be a matter of plugging the same code into a different compiler? I guarantee you that wouldn't be so easy if you've used Keil's product.

BTW, the purpose of tables isn't just to take up space, but to avoid having to implement complex algorithms that can be solved with table-lookup, which is often the case. It's always larger but MUCH faster, and extremely easy to debug. It's not easier to implement in HLL than in ASM, though.

Don't forget the microcontroller task:

Examine inputs (including current context) and take appropriate action.

What simpler method than table-lookup could there be? Current context defines which tables are used, and current inputs determine which entries in the tables are used ... most often there's no stack usage, and minimal code space consumed.

RE



List of 131 messages in thread
TopicAuthorDate
Article: "Real engineers program in C"            01/01/70 00:00      
   C and Latin            01/01/70 00:00      
      similarities between English and C            01/01/70 00:00      
         all sorts of similarities            01/01/70 00:00      
      NOT engineers.....            01/01/70 00:00      
         I think that was his point?            01/01/70 00:00      
            I know            01/01/70 00:00      
               I also don't know if his diagram on Page 3 is right            01/01/70 00:00      
   fewer ASM developers            01/01/70 00:00      
   languages            01/01/70 00:00      
   Muscle Vs Fat            01/01/70 00:00      
      apples vs bears            01/01/70 00:00      
         Wait a minute, pilgrim!            01/01/70 00:00      
            pilgrim has arrived            01/01/70 00:00      
            Break out that DOS Computer            01/01/70 00:00      
               I do that quite often!            01/01/70 00:00      
            blame drivers            01/01/70 00:00      
               Equip them right and they seem to work ... sort-of            01/01/70 00:00      
                  Engineers and Marketing guys            01/01/70 00:00      
            jeeziz x kryst            01/01/70 00:00      
               So ... Why do you do all that?            01/01/70 00:00      
                  wrong choice of word            01/01/70 00:00      
                     It's just a millstone ...            01/01/70 00:00      
                  re: why?            01/01/70 00:00      
      My computer _boots_ faster than that.            01/01/70 00:00      
         DMA?            01/01/70 00:00      
      Maybe it's the amount of memory            01/01/70 00:00      
         The cost of mutlitasking..            01/01/70 00:00      
         haven't any time to waste            01/01/70 00:00      
            That would be too slow!            01/01/70 00:00      
               I see no ships!            01/01/70 00:00      
               Isn't 4k plenty for a '51?            01/01/70 00:00      
                  which '51 does have that?            01/01/70 00:00      
                     Erik would call those "deviates".            01/01/70 00:00      
                        nope            01/01/70 00:00      
                        pipelines, cars, and real engineers            01/01/70 00:00      
                           It's also pipelined.            01/01/70 00:00      
                              then it's irrelevant            01/01/70 00:00      
                  If you can ignore those features            01/01/70 00:00      
               keeping up            01/01/70 00:00      
                  I feel your pain ...            01/01/70 00:00      
                     Don't see problems - see possibilities            01/01/70 00:00      
                        Do you really want to hide from reality?            01/01/70 00:00      
                           Always hiding behind excuses            01/01/70 00:00      
                              What excuses?            01/01/70 00:00      
                                 Your excuses            01/01/70 00:00      
                                    Do you directly or indirectly work for Keil?            01/01/70 00:00      
                                       BULL!!            01/01/70 00:00      
                                          I don't harbor any animosity, but I don't like being lied-to            01/01/70 00:00      
                                             you "understand well enough"            01/01/70 00:00      
                                                I have to agree ... evaluation takes time ...            01/01/70 00:00      
                                                   this is where I think I'm the realist            01/01/70 00:00      
                                                      If only the pieces were separately available ...            01/01/70 00:00      
                                                         I can't and would never            01/01/70 00:00      
                                                            So ... Who's a simulator specialist?            01/01/70 00:00      
                                                               don't know, don't care            01/01/70 00:00      
                                                                  So why even mention it?            01/01/70 00:00      
                                                                     because someone (you?) brought it up            01/01/70 00:00      
                                       Tangential Richard at work            01/01/70 00:00      
                           the pot calling the kettle black            01/01/70 00:00      
                     that's the crux            01/01/70 00:00      
                        It's a matter of realism            01/01/70 00:00      
                           well, if you do not have the time to evaluate, your points            01/01/70 00:00      
                              I have to disagree ...            01/01/70 00:00      
                                 no need            01/01/70 00:00      
                                    That would be an ideal fix!            01/01/70 00:00      
                  no way            01/01/70 00:00      
                     but only if we both define a project            01/01/70 00:00      
                        oh, that's no proof then...            01/01/70 00:00      
                           It would be a nice idea, but how would you time it?            01/01/70 00:00      
                           you did not read what I said            01/01/70 00:00      
                              implication and how to challenge it            01/01/70 00:00      
                                 disassembly            01/01/70 00:00      
                                    Encryption module?            01/01/70 00:00      
                                    not at all            01/01/70 00:00      
                                       It's clear to see that some folks really like 'C'            01/01/70 00:00      
                                          can you only like one thing?            01/01/70 00:00      
                                             Yes, but ...            01/01/70 00:00      
                                                you can boil steak too            01/01/70 00:00      
                                                   but you don't have to do that            01/01/70 00:00      
                                                      but you just said            01/01/70 00:00      
                                       no praise, just not hate            01/01/70 00:00      
                                          That makes sense            01/01/70 00:00      
                                          not that claim            01/01/70 00:00      
                                             again you miss 'usually', 'mostly', 'often', etc            01/01/70 00:00      
                                                Not so ... exactly            01/01/70 00:00      
                                                   Based on what experience?            01/01/70 00:00      
                                                      That's not how it works            01/01/70 00:00      
                                                         maintenance is a totally different issue            01/01/70 00:00      
                                                         apples to pears?            01/01/70 00:00      
                                                            I don't need to compare/contrast apples and pears            01/01/70 00:00      
                                                               The embedded world is larger than your tiny island            01/01/70 00:00      
                                                   IF            01/01/70 00:00      
                                                      It's all about initial hardware cost, not maintenance cost.            01/01/70 00:00      
                                                         Value of investment            01/01/70 00:00      
                                                         Not Here            01/01/70 00:00      
                                                         Whose business?            01/01/70 00:00      
                                                            What do you mean by "code analysis tools"?            01/01/70 00:00      
                                                               Some important tests            01/01/70 00:00      
                                                                  Yes, those come up in HLL, but ...            01/01/70 00:00      
                                                                     Memory leaks nothing to do with HLL            01/01/70 00:00      
                                                                        Yeah, you can do that ... but it's not recommended            01/01/70 00:00      
                                                                           More way than one to create memory leaks            01/01/70 00:00      
                                                                           that is not applicable to small embedded            01/01/70 00:00      
                                                                     Way easier to analyse non-goto code            01/01/70 00:00      
                                                                        and why would that be?            01/01/70 00:00      
                                                                           General purpose languages normally allows dangers            01/01/70 00:00      
                                                                              You still don't get the point, Per            01/01/70 00:00      
                                                                                 Wrong question            01/01/70 00:00      
                                                                                    what view?            01/01/70 00:00      
                                                                                       and the answer is            01/01/70 00:00      
                                                                                       can be seen as a leading question            01/01/70 00:00      
                                                                        Careful now! Some folks like Pascal for the '51            01/01/70 00:00      
                                                                           Why?            01/01/70 00:00      
                                                                        Some things depend on your point of view            01/01/70 00:00      
                                                                           Richard has never, ever, in his whole life implemented a bug            01/01/70 00:00      
                                                                              I may have written 'em, but I've never shipped 'em            01/01/70 00:00      
                                                               QAC and Polyspace            01/01/70 00:00      
                                                                  thanks, Oliver            01/01/70 00:00      
                                                                     MISRA and assembly don't mix well.            01/01/70 00:00      
                                                                        you can write FORTRAN in any language            01/01/70 00:00      
                                                                           I know ... but MISRA rules are explicit.            01/01/70 00:00      
                                                                              Not happy will all parts of MISRA            01/01/70 00:00      
                                                                                 Interesting discussion of MISRA C:            01/01/70 00:00      
                                                                                 Flawed but useful            01/01/70 00:00      
                                                                              Nested comments can produce different results            01/01/70 00:00      
                                                                           That's the thing with rules            01/01/70 00:00      
                                                                     Polyspace            01/01/70 00:00      
            Also in VB            01/01/70 00:00      
               Amazing!            01/01/70 00:00      
   You really are very naughty Andy            01/01/70 00:00      

Back to Subject List