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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/08/07 18:18
Modified:
  01/08/07 18:20

Read: times


 
#130447 - there is NO WAY you can do that. C does not, in a
Responding to: ???'s previous message
The reason why am I doing such a craziness is because I want that the source code can be compiled by both Keil and SDCC.
why on earth? If it works with tools you have (whatever they may be) why do you worry about using other tools? Yes, C does supposedly make portable code, but there is no place in the C specification that states that 'portable' means "run in the same time with different compilers"

The mentioned code piece is time critical (that's why It was written in assembler) so I have to be SURE that the C compiled code has the same efficienty as the assembler one.
there is NO WAY you can do that. C does not, in any way, state that the generated code has to run in the same time, just with the same result. There has even been posts that a compiler generate different code when 'unrelated' changes were made. Another issue is that "both Keil and SDCC" even if you succeed, may not be true when nest revision of either coems out.

Keil uses it special function called ?C?LLDPTR to transform the return values. But I have no access to this function source code.
step through it in the debugger.

My question is:
How can I be sure that the function ?C?LLDPTR does not take more time as the MOV's R7-R4 in my assembler version?

You can't. even if it does, it may be different in the next version.

Erik

List of 35 messages in thread
TopicAuthorDate
Code transform from A51 -> C51 Keil            01/01/70 00:00      
   I don't think so, I'm afraid            01/01/70 00:00      
   there is NO WAY you can do that. C does not, in a            01/01/70 00:00      
      You are right I can't be sure            01/01/70 00:00      
         API            01/01/70 00:00      
            The problem is with the API development...            01/01/70 00:00      
               Welcome to the world of cross-platform development            01/01/70 00:00      
                  Use A51 compiled object files in SDCC...            01/01/70 00:00      
                     Did you say what you mean?            01/01/70 00:00      
                        Yes I was actualy meaning GENERATED...            01/01/70 00:00      
                  About inventing time in make...            01/01/70 00:00      
                     Inventing            01/01/70 00:00      
                     well, since you hide your e-mail (the 8052 e-mail            01/01/70 00:00      
                        Please, please could you send it?            01/01/70 00:00      
                     Unix utilities for Windows            01/01/70 00:00      
                        SDCC paths            01/01/70 00:00      
               The 'C' preprocessor            01/01/70 00:00      
               if you use a sensible approach it is easy            01/01/70 00:00      
                  I don't know about 'easy'...            01/01/70 00:00      
         HLL's are for people who are too lazy ...            01/01/70 00:00      
            re: HLLs are for people            01/01/70 00:00      
               what\\\'s He-Man?            01/01/70 00:00      
                  Def: He-Man            01/01/70 00:00      
            ยต-controllers are for people who are too lazy ...            01/01/70 00:00      
               I don't want to discuss about HLL's effyciency            01/01/70 00:00      
               Oops            01/01/70 00:00      
                  dyslexics untie!            01/01/70 00:00      
            30% to 90%?            01/01/70 00:00      
               Neil, I kind of agree            01/01/70 00:00      
   You can be sure it does.            01/01/70 00:00      
   Code transform from A51 -> SDCC            01/01/70 00:00      
      This is also a thing I missed..            01/01/70 00:00      
         similar concept to MAC routines, locking to binary            01/01/70 00:00      
   is it possible ?            01/01/70 00:00      
      yes            01/01/70 00:00      

Back to Subject List