In BLSSERV bis einschließlich V2.4A gelten folgende Regeln beim Befriedigen von Externverweisen:
PROGRAM-MODE=24 beim Lade-Kommando oder
PROGMOD=24 beim BIND-Makro:Externverweise werden ausschließlich mit Symbolen befriedigt, die unterhalb 16 Mbyte geladen sind.
PROGRAM-MODE=*ANY beim Lade-Kommando oder
PROGMOD=ANY beim BIND-Makro:Externverweise werden mit Symbolen befriedigt, die unterhalb oder oberhalb von 16 Mbyte geladen sind.
Wird eine Ladeeinheit mit PROGRAM-MODE=*ANY (bzw. PROGMOD=ANY) geladen, können Externverweise nach diesen Regeln auch mit Symbolen befriedigt werden, die oberhalb 16 Mbyte geladen sind. Muss diese Ladeeinheit jedoch (z.B. wegen des AMODE-Attributs des Aufrufers) im AMODE 24 ablaufen, führt dies zu Fehlern.
Um solche Inkonsistenzen zu vermeiden, können beim Laden mit BLSSERV ab V2.5A zusätzliche AMODE-Prüfungen durchgeführt werden. Mit dem Operanden AMODE-CHECK im Kommando START-/LOAD-EXECUTABLE-PROGRAM (oder AMODCHK beim BIND-Makro) wird gesteuert, ob diese zusätzlichen Prüfungen durchgeführt werden.
Bei AMODE-CHECK=*STD (Default-Wert) ist das Verhalten beim Laden und Befriedigen von Externverweisen kompatibel zu den Vorgängerversionen von BLSSERV. Ob Externverweise mit Modulen oberhalb 16 Mbyte befriedigt werden können oder nicht, entscheidet BLSSERV auf Grund des Operanden PROGRAM-MODE, des Pseudo-RMODE der geladenen Objekte und des AMODE-Attributs des rufenden Programms.Damit können Inkosistenzen wie die oben beschriebene auftreten.
Bei AMODE-CHECK=*ADVANCED wird zusätzlich das AMODE-Attribut der Ladeeinheit berücksichtigt, um zu entscheiden, ob Externverweise auch mit Modulen oberhalb 16 Mbyte befriedigt werden können. Wenn also eine Ladeeinheit nach dem Laden ihres ersten Moduls ein AMODE-ATTRIBUT von 24 erhält, muss der Rest der Ladeeinheit unterhalb 16 Mbyte geladen werden und Externverweise dieser Ladeeinheit werden nur mit Symbolen befriedigt, die unterhalb von 16 MByte geladen werden können.