由於地址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]'。 –