CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

XINST support

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
collink



Joined: 08 Jan 2010
Posts: 137
Location: Michigan

View user's profile Send private message Visit poster's website

XINST support
PostPosted: Sat Aug 28, 2010 4:28 pm     Reply with quote

So, I have repeatedly read that XINST is the kiss of death for the CCS compiler. And, I also see the same thing in regards to the SDCC compiler. (Or, at least it does not support it.) I don't know about the other PIC compilers. So, does anyone know why multiple PIC compilers don't bother to support an extended instruction set which was designed specifically FOR compilers?!?! Why in the world would XINST support not be something that they'd do everything to support? Am I missing something?
collink



Joined: 08 Jan 2010
Posts: 137
Location: Michigan

View user's profile Send private message Visit poster's website

PostPosted: Sat Aug 28, 2010 4:49 pm     Reply with quote

Replying to myself... I guess the PIC18 manual at 25.2.3 explains why they don't support it... Well, it would still be nice if they would.

For anyone interested, the reason XINST blows up most programs is that it changes the way that almost half of the PIC instructions are interpreted even if you never use the extended instructions. Basically a bunch of instructions start to support and use indexed addressing with literal offsets. This is as opposed to how the instructions previously used only literal values. The change causes a bunch of code to not work the same. This can be corrected if the compiler expects that behavior but it's apparent that CCS does not do that.

For what it's worth, I think that a lot of people would have liked to know WHY you can't enable XINST and until now that reason seems to never have been posted to this forum. That's a shame. But, now you know. ;)
bkamen



Joined: 07 Jan 2004
Posts: 1615
Location: Central Illinois, USA

View user's profile Send private message

PostPosted: Sat Aug 28, 2010 5:05 pm     Reply with quote

I asked CCS Support in a thread covering something else once and got the answer you posted and then looked it up..

So my question was answered, but you are right -- it'd probably be a nice Sticky Post at the top of the list for this section so people can read up on it.

-Ben
_________________
Dazed and confused? I don't think so. Just "plain lost" will do. :D
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group