What is a Branch Island?


The call instruction of the SX microcontroller can't reach all locations in ROM. The 9th bit of the destination is always clear. This limits the call instruction to only being able to call address in the ranges of 0x000-0x0FF, 0x200-0x2FF, 0x400-0x4FF and 0x600-0x6FF. If the start of a function is located outside these ranges, the compiler must call a branch island. A branch island is a branch instruction with a destination that is a function located in a range that is inaccessible to the CALL instruction.