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

Back to Subject List

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


 
#150807 - 'using' can be counterproductive in SDCC
Responding to: ???'s previous message
If your ISR does not use any Rx register adding a using directive can prove counterproductive. The ISR will needlessly change the register bank and save/restore PSW on stack. It obeys your instruction in this regard.

But SDCC does not simply push/pop all registers on stack for an ISR. Instead it tries to determine which ones were actually used and only saves these.

So the optimization opportunity exists to enhance this register usage detection mechanism with ignoring the supplied using directive if no Rx registers were used.

SDCC will never put the ISR in the 8 byte slot but always use an LJMP at the vector address.

List of 12 messages in thread
TopicAuthorDate
Minimum ISR time            01/01/70 00:00      
   "bible" time?            01/01/70 00:00      
      details            01/01/70 00:00      
   re-expalin            01/01/70 00:00      
   Re: Minimum ISR time            01/01/70 00:00      
   what simple ISR?            01/01/70 00:00      
      You're right, it is bloody C            01/01/70 00:00      
         C and ISRs            01/01/70 00:00      
            Know thy tools            01/01/70 00:00      
               'using' can be counterproductive in SDCC            01/01/70 00:00      
         ISRs in C            01/01/70 00:00      
            Good point            01/01/70 00:00      

Back to Subject List