Hi Peter,

> Assembly produced by sdcc, gpsim freezes where marked:
> 
> ;***
> ;  pBlock Stats: dbName = C
> ;***
> ;entry:  _Half_Bit_Delay      ;Function start
> ; 2 exit points
> ;has an exit
> ;1 compiler assigned register :
> ;   r0xB0
> ;; Starting pCode block
> _Half_Bit_Delay       ;Function start
> ; 2 exit points
> ;     .line   103; "../plibpic/serial/serial-sw-2006-10-5.h"  
> for (loop = 0; loop 
> < 79 ; loop++ ) {
>       MOVLW   0x4f
>       BANKSEL r0xB0
>       MOVWF   r0xB0
> _00115_DS_
>       DECFSZ  r0xB0,F
>       GOTO    _00115_DS_      <----- GPSIM seems to stop here!
>       RETURN  
> ; exit point of _Half_Bit_Delay
> 
> All a bit odd though, as the routine works for a while before 
> it bangs out.  
> Also, I though sdcc insulated me from setting bank bits?  Also a bit 
> perplexed.

The problem might be the newly introduced -r option, which is now passed on
by SDCC to gplink to circumvent problems with devices with all memory
locations being in shared banks; probably gplink now allocates r0xB0 to
the (shared) location 0x90, which it should not... You might try to compile
and link manually without -r to gplink.

Also check if you ran out of memory (consult the .map file, gplink -m).

HTH,
Raphael Neider


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to