【发布时间】:2015-11-03 19:30:17
【问题描述】:
我有一种情况,我必须在实模式下跳转到一个远地址,我在fs寄存器中有段值,在gs寄存器中有偏移量,在跳转过程中我必须保持准确的寄存器内容,我想出了一个如下的想法,
mov bp, fs
shl ebp, 16
mov bp, gs
jmp ebp
假设bp、fs和gs没有在被调用的目的地中读取,另一种我刚刚在NASM far jump / far call in real mode and ASM code conventions中找到并且我可以使用的方式,
push fs
push gs
retf
我想知道我应该使用哪种方法,或者是否有其他方法可以实现?我在x86组装方面没有太多技能,所以请原谅我的无知。
问候,
阿尔卡
【问题讨论】:
标签: assembly x86 x86-16 real-mode memory-segmentation