由于地址XXXX:YYYYYYYY是在保护模式下32位,我把48位地址在一块内存,想给间接jmp
,这里是我写的:关于间接JMP问题,在保护模式下
mov eax,s1
mov [address],eax
mov ax,SelectorCode32
mov [address+4],ax
jmp fword [address]
address:dd 0
dw 0
但nasm显示jmp fword [address]
是错误的,我读过一些建议,如this,但也没有帮助,所以我该怎么办?
看到[这个](http://en.wikipedia.org/wiki/FWord),在我的情况下,一个方法选择一个正确的tss到jmp,所以地址在运行前是未知的,所以jmp xxxx: yyyyyyyy是无用的。 – reavenisadesk
@AkiSuihkonen你错了。你说的是'JMP ptr16:32'形式,但也有'JMP m16:32'。请参阅您的英特尔或AMD手册。 –
纳斯姆是一个不错的家庭装配者,不知道这个词。 :)只要'jmp far [address]'应该这样做。如果它不在32位代码中,可能是'jmp far dword [address]'。 –