weird... a simple loop works here,
but as you're using a blend mix of ASM and PBP in an ISR, you must make sure you're always on the good BANK case not, hell yeah it may goes to lalaland... what you could try is to set all variable that goes in the ISR to BANKA.Code:start: asm incf _MyArray,F incf _MyArray+1,F endasm myvar=myarray[0] myvar2=myarray[1] goto start
And yes I know I miss something
EDIT: The more I think, the more it looks like a bank switching issue,
The above work... commentout the CHK?RP line.. and nope... it doesn't.Code:MyArray VAR BYTE[8] BANK1 MyVar var byte BANK0 MyVar2 var byte BANK0 clear start: asm CHK?RP _MyArray incf _MyArray,F incf _MyArray+1,F endasm pause 500 myvar=myarray[0] myvar2=myarray[1] goto start
And NOPE, BANK0 !=BANKA
Finger crossed before the real ASM/Compiler gurus came here and slap me a good oneCode:BANKA $0000, $005F BANK0 $0060, $00FF![]()





Bookmarks