From: SourceForge.net <no...@so...> - 2008-07-21 00:44:18
|
Bugs item #2023121, was opened at 2008-07-20 19:42 Message generated for change (Comment added) made by tkeithbossert You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2023121&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: pic14 target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Keith (tkeithbossert) Assigned to: Nobody/Anonymous (nobody) Summary: compiler improperly reuses registers - pic14 Initial Comment: Using the command: sdcc -mpic14 -p16f628a test.c to compile the attached file test.c, with sdcc version 2.8.1, the compiler improperly reuses registers. For example, look at the assembly file, and notice that the function sendStringSerial(unsigned char *) calls both the function delay(unsigned char) and the function sendByteSerial(unsigned char). In my assembly file delay(unsigned char) and sendByteSerial(unsigned char) both use r0x102D and r0x102E. This messes things up for sendStringSerial(unsigned char *) because sendStringSerial(unsigned char *) uses r0x102D and r0x102E to hold part of the pointer from its parameter. Note that if I modify sendStringSerial(unsigned char *) so that it is completely self-contained, it sends strings as it should, but if sendStringSerial(unsigned char *) calls other functions to simplify its work, the compiler messes up. If I can attach more files, I'll include my assembly file, and a version with a self-contained sendStringSerial(unsigned char *). ---------------------------------------------------------------------- >Comment By: Keith (tkeithbossert) Date: 2008-07-20 19:44 Message: Logged In: YES user_id=1112645 Originator: YES File Added: test.asm ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=2023121&group_id=599 |