Bank For Constant

Hi all

I ve created a bank for constant using

?B_CB           EQU  3

in the file L51IBANK.A51

and also put some modules to the same bank and I decide now to changing bank to these modules, and when I do this I receive a lot of IMPROPER FIXE-UP error and I see that there is enough place for these modules at the target bank.

Any idea

Parents
  • IMPROPER FIXUP errors indicate that the linker needs to access something that is inaccessible (mainly because there is no addressing mode supported in the instruction set). For example, an AJMP to an address that is too far away (more than 11 bits of address space).

    It may be that in moving your constants around, you have located a jump table for a switch statement too far away from the switch code for it to work. Or, worse, you have located the jump table in a different code bank.

    Jon

Reply
  • IMPROPER FIXUP errors indicate that the linker needs to access something that is inaccessible (mainly because there is no addressing mode supported in the instruction set). For example, an AJMP to an address that is too far away (more than 11 bits of address space).

    It may be that in moving your constants around, you have located a jump table for a switch statement too far away from the switch code for it to work. Or, worse, you have located the jump table in a different code bank.

    Jon

Children
More questions in this forum