I'm developing a program on the Mega88 (the target is a Mega88PA, but the breadboard uses an old Mega88 20PI chip), and it seems to run perfectly well. I put in some trace code that stores the program counter link from the stack in RAM and noticed something odd: the program counter always seems to have the 0x1000 bit set, i.e. it seems to be executing addresses 0x1000-0x1FFF rather than 0x0000-0x0FFF.
I think I've eliminated anything I could be doing wrong (by saving the link right at the start of execution), and I even tried forcing that bit low by masking it out and putting it back on the stack, but it seems to be stuck there.
Is this a known feature, and is there anything I should look out for where it could cause problems (e.g. when I set a link on the stack directly to an address in the $0000-$0FFF range)?