That was quiet a quick response
Actually that is correct as the $7EAF is the absolute address of the target but is encoded relative to the current PC when the displacement is fetched, which is the word after the MOVE.l opcode.
I see, so the value in front of the brackets is interpreted absolute. It's a little bit confusing, as displacement
suggests something relative (what happens with negative values?).
I just tested gcc and amiga phxass, and they don't seem to distinguish between $x(pc) and ($x,pc). if $x is a value, they always interpret it as relative displacement, if it is a label, they interpret it as absolute and calculate the displacement.
however, the addressing mode "pc indirect with index" doesn't seem to be working at all, neither $x(pc,dn) nor ($x,pc,dn).
thanks for looking into it.