У меня есть ситуация, когда мне нужно перейти на дальний адрес в реальном режиме, у меня есть значение сегмента в регистре fs
и смещение в регистре gs
, и во время перехода я должен поддерживать точное содержимое регистра, я придумал один идея как следующая,
mov bp, fs
shl ebp, 16
mov bp, gs
jmp ebp
предполагая, что bp
, fs
и gs
не читаются в вызываемом пункте назначения, другой способ, который я только что нашел в NASM far jump / far call в реальном режиме и соглашения кода ASM, и я могу использовать,
push fs
push gs
retf
Мне интересно, какой метод мне следует использовать или есть ли другой способ добиться этого? У меня нет особых навыков в сборке x86, поэтому, пожалуйста, простите мое невежество.
С уважением,
Арка