From: <kus...@sp...> - 2022-12-26 07:04:30
|
> On 25. Dec 2022, at 18.03, kus...@sp... wrote: > > A trivial self contained test case did not fail. > > So I started to think about what is unique in my project. > > The answer is 'a lot of ORG' statements. > > I started to bisect and strip down my code and after some elbow grease my guess is > that around 128 non discontinuous sections we get this error. > > I will try to create simple test case to prove this and also to find out if this is per file limitation > or per executable limitation. > > wbr Kusti I confirmed my suspicions. gpsim gives me .cod range error if there are a more than 128 discontinuous sections in a .cod file. Not sure I can all it a bug, maybe it s a limitation of the format . IDK. I tested this by programmatically generating a test file with various number of sections like this: LIST p=18f4550 RADIX DEC INCLUDE p18f4550.inc ORG 0x4000 NOP ORG 0x4020 NOP <SNIP> ORG 0x4FC0 NOP ORG 0x4FE0 NOP END and compiling, linking and loading with: gpasm -DSTACK_MODEL_SMALL -D__STACK_MODEL_SMALL -o test.o -c test.asm gplink -s 18f4550.lkr -m -o test.hex test.o gpsim test.cod and as soon as the number of sections hit 128 I get the error. Now this is a bit a bummer cause in my code I use a computed GOTO to N x 64 so I need to place my code sections with ORGs, This needs some thinking as the obvious solution of making those sections continuous by adding NOPs by hand is not appealing. Anyway, back where I started. I think that once I solve above issues the original issue I reported may disappear, The error message in the title still seems buggy but the actual execution may work (and thus avoid the error message completely) once I get the code load properly to gpsim. wbr Kusti |