ld
and the H8/300For 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).