Instructions counter: 94
Clock cycles counter: 484
Last instruction: call 0xAC

You may install the software mentioned below, if you have windows.
I tried it in an other simulator, with the similar problem.

Thanks



On Fri, Jun 6, 2008 at 4:36 PM, Raphael Neider <rneider@web.de> wrote:


Get Started wrote:
> I tried to simulate (PICSim IDE, Oshonsoft) the hex file, but I got
> "Hardware stack overflow"

There was a similar report recently stating the same problem. Can you
track it down more precisely? Can you single-step through the program to
identify the causing instruction? I do not have the software, so I
cannot try myself.



Alternatively you can try to replace the startup code by defining a
function as follows:

void _sdcc_gsinit_startup (void) {
  __asm
    pagesel _main
    goto    _main
  __endasm;
}

WARNING: This will leave all global and/or static variables undefined,
even if they are initialized in C!

I suspect a simulator bug on reading from flash: The initialization code
(like normal code as well) reads from code memory by calling a code
fragment that sets the PCLATH and PCL registers to the address to be
read, executing the the RETLW <val> instruction there and thus returning
to the caller of the code fragment. Maybe the simulator also partly
executes the following instruction, which is likely to be a RETLW <val2>
instruction as well, popping another return value from the stack?!?

For the record: gpsim happily simulates the code.

> #include "pic16f84.h"
>
> void main()
> {
>     TRISB = 0;
>
>     for (;;)
>     {
>         PORTB = 0;
>         PORTB = 1;
>     }
> }

Hope that helps,
Raphael


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user