Verwendete Befhele dürfen keine namentlichen Adressen enthalten, sondern nur Register und Verweise auf Daten in Abhängigkeit zu einem Register.
D.h.
move.w meine_variable,d0
meine_variable: dc.w 42
ist nicht PC-relativ, direkte Adresse meine_variable wird verwendet.
Um das gleiche PC-relativ zu erreichen, müßte man das so formulieren.
lea meine_variable(pc),a0 ; hole Zeiger relativ zum Programmzähler (nur Offset, keine feste Adresse)
move.w (a0),d0 ; lies Wert
meine_variable: dc.w 42
Die Adressierung ...(PC) funktioniert leider nicht in allen Konstellationen, weswegen man wie bei einem RISC häufig erst ein Zeigerregister laden muss.
Für GFABASIC ist das nicht schlimm, da kann man Pointer auf Daten per RCALL oder ~C: Aufurf via Stack leicht übergeben.
Beispiele für GFABASIC Inlines mit PC relativer Adressierung findest du bei mir auf der Homepage:
http://paradize.atari.org/Für mehr Details muss ich Dich an einen 68000er Guru und/oder Literatur verweisen.