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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/11/07 13:26
Read: times


 
#143107 - Michal, you are cheating! :-)
Responding to: ???'s previous message
Michal,

you replaced a variable in the index by a constant!!! That significantly reduced the complexity of the effective address calculation of that long long expression. With lack of further information (mainly how the library functions called from the published snippets look like, but also the end of the first for cycle in the first example) that is the main suspect - see those "push calib_x"-s... (I see no pops, but that might happen in some of the library functions - you should check out; also, the potential stack overflow can occur here).

What happens, if you in the first example replace ALL occurences of calib_table variable by the CALIB_TABLE_2 constant? (or, conversely, what happens if in the second example you replace the constant by the variable?)

JW


List of 32 messages in thread
TopicAuthorDate
for(;;) anomally            01/01/70 00:00      
   How to post code:            01/01/70 00:00      
   re: for(;;) anomaly            01/01/70 00:00      
      malloc() on 8051?!?            01/01/70 00:00      
         Yes.            01/01/70 00:00      
            Off topic: Mixed 51 and PC mind :)            01/01/70 00:00      
         You are right            01/01/70 00:00      
   Probably this miight be happening            01/01/70 00:00      
      This sounds as a reason but...            01/01/70 00:00      
         asm            01/01/70 00:00      
            I think the same            01/01/70 00:00      
               the asm will maybe help            01/01/70 00:00      
                  Assembler codes            01/01/70 00:00      
                     Michal, you are cheating! :-)            01/01/70 00:00      
                        This was the reason :)            01/01/70 00:00      
                     ... but it's easy to do it in C :-)            01/01/70 00:00      
                        I dont trust to any any any compiler :)            01/01/70 00:00      
            Stack overflow?            01/01/70 00:00      
               I think this will be complicated            01/01/70 00:00      
                  1 of 2 ways            01/01/70 00:00      
                     Thx            01/01/70 00:00      
         The Compiler does not protect you            01/01/70 00:00      
            Like SDCC...            01/01/70 00:00      
               Better?            01/01/70 00:00      
                  option --main-return            01/01/70 00:00      
                     SDCC function startup code            01/01/70 00:00      
                        use a cookie near the end of the stack?            01/01/70 00:00      
                           rock bottom            01/01/70 00:00      
                           Why only 0xF8?            01/01/70 00:00      
                              paranoia!)            01/01/70 00:00      
               also Keil?            01/01/70 00:00      
            I have while(1) loop in main()            01/01/70 00:00      

Back to Subject List