Absolute Sprünge sind durchaus Gang und Gäbe. Calls von Subroutinen werden zum Beispiel meist mit nem Label gemacht und die sind dann absolut.
Meine Assemblerzeiten sind schon ziemlich lange her, aber wird die Adressierung nicht immer relativ zu CodeSegment und/oder DatenSegment vorgenommen?
Wie der Rest schon gesagt hat: unter 32 (und 64) Bit gibt es keine Segmente mehr. CS und DS sind fest auf 0 gesetzt, FS wird von Microsoft verwendet, um in FS:0 den Thread Execution Block zu speichern (bei 32 Bit, bei 64 Bit ist das glaub ich GS) und GS ist soweit ich weiß auch 0. Somit erklärt sich das mit absoluten Sprüngen von selbst.
Gruß,
Sven