Hey folks.  I've been using SDCC for many years, but this is one  
issue I've not run across before.

   I'm writing some code for an 87C751 microcontroller, and I looked  
at some of SDCC's .rst files, and noticed lots of LCALL and LJMP  
instructions.  The 87C751 doesn't implement LCALL or LJMP (nor MOVX  
for that matter) because it has only 2KB of on-chip code memory and  
no external RAM capabilities.  If memory serves, the offset width for  
ACALL and AJMP is 11 bits, which should be enough to cover the entire  
2KB code space on this chip.  So...can SDCC be told to only generate  
ACALL instructions if the target address is within range?

   This also (obviously) has significant code size implications, as  
an LCALL is three bytes long whereas an ACALL is only two bytes long.

   Unless, of course, I've not yet had enough caffeine and am missing  
something stupid and obvious.

              -Dave

-- 
Dave McGuire
Port Charlotte, FL



------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to