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
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user