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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/17/06 21:06
Read: times


 
#122506 - sure it 'works'
Responding to: ???'s previous message
however, if you have 5 functions where the last 10 statements are identical, the optimizer will, for 4 of them insert jumps to the the last 10 statements of #5. This makes it impossible to set a breakpoint that will only stop at the exit from function #3.

I am NOT 'complaining' about the optimizer, it just does not work for me. What I AM complaining about is that 'improvements' that do not affect the flow are relegated to optimization when they belong in the compiler.

Anyhow we are drifting too far from
the original question, to which the answer is "the one and only form or fashion you can use a switch in, without movc instructions being generated is a sequential switch statement with optimizer 8 or better" (Keil do not know of others). For more see http://www.keil.com/forum/docs/thread8020.asp

Erik

List of 38 messages in thread
TopicAuthorDate
Switch/Case and code protection            01/01/70 00:00      
   What does it do?            01/01/70 00:00      
      I activate MOVC Disable.            01/01/70 00:00      
         In that case ...            01/01/70 00:00      
            Can't tell...uses external CCASE routine            01/01/70 00:00      
               Things you can and can't do ...            01/01/70 00:00      
                  it does            01/01/70 00:00      
               (double post, please disregard)            01/01/70 00:00      
   switch can use MOVC instructions            01/01/70 00:00      
      Aha!            01/01/70 00:00      
         protecting LPC chips            01/01/70 00:00      
            protecting LPC chips            01/01/70 00:00      
               Old question            01/01/70 00:00      
                  case            01/01/70 00:00      
                     Errr...            01/01/70 00:00      
                        There is more than just switch/case            01/01/70 00:00      
                           No C without MOVC            01/01/70 00:00      
                              Protection on other derivatives            01/01/70 00:00      
                                 Example - AT89C51            01/01/70 00:00      
                                    AT89C51 can do MOVC internal !            01/01/70 00:00      
                                       nope            01/01/70 00:00      
            LPC Protection            01/01/70 00:00      
               naah, but make it quite a bit more difficult            01/01/70 00:00      
   Compiler Optimisation            01/01/70 00:00      
      sure, but there will still be MOVC            01/01/70 00:00      
         And upgrading the compiler can change the output            01/01/70 00:00      
            the ICEman cometh            01/01/70 00:00      
               I have found no issues with the ICE            01/01/70 00:00      
                  sure it 'works'            01/01/70 00:00      
         The Reason            01/01/70 00:00      
            no, no, no            01/01/70 00:00      
               But you said..            01/01/70 00:00      
                  if you heard what I thought I said            01/01/70 00:00      
                     Confused            01/01/70 00:00      
                        jmp @dptr is not movc            01/01/70 00:00      
                           jmp @dptr is a computed goto not a jump table            01/01/70 00:00      
   what requires a movc???            01/01/70 00:00      
      Jump TABLE            01/01/70 00:00      

Back to Subject List