ld
and the H8/300
For the H8/300, ld
can perform these global optimizations when
you specify the `-relax' command-line option.
ld
finds all jsr
and jmp
instructions whose
targets are within eight bits, and turns them into eight-bit
program-counter relative bsr
and bra
instructions,
respectively.
ld
finds all mov.b
instructions which use the
sixteen-bit absolute address form, but refer to the top
page of memory, and changes them to use the eight-bit address form.
(That is: the linker turns `mov.b @
aa:16' into
`mov.b @
aa:8' whenever the address aa is in the
top page of memory).