1234567891011121314151617181920212223 |
- [Main]
- Title=F-Line Branch Optimization
- [Top]
- The linker can convert absolute branches (which would normally need a
- relocation entry) into special relative F-Line sequences. These sequences are
- handled by an interrupt handler. The fact that an interrupt is needed makes
- these branches significantly slower, but using them can save quite a bit of
- space in the program.
- <BR><BR>
- There are two types of F-Line branches: The default version can be activated
- using the <A HREF="$$LINK(control_ld_use_fline_jumps)">__ld_use_fline_jumps</A>
- control symbol. Each branch has a size of six bytes. They are relative to
- their own address, which means that they can be supported by the AMS, and in
- fact, the AMS implements an interrupt handler for these branches starting
- from version 2.04. The other version can be activated using the
- <A HREF="$$LINK(control_ld_use_4byte_fline_jumps)">__ld_use_4byte_fline_jumps</A>
- control symbol. As the name says, each branch has a size of four bytes. They
- are relative to the program's entry point, so only an emulator that is
- installed from the program can handle them. Since they use codes that are
- otherwise used for ROM calls, this might break applications that are called
- from the program, if any. However, this is very unlikely, as the two ROM
- calls used are not defined yet.
|