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 설명서를 참조하십시오. –
Nasm은 멋진 제품군 어셈블러이며 fword를 알지 못합니다. :) 그냥'jmp far [주소]'가해야합니다. 32 비트 코드가 아닌 경우 'jmp far dword [address]'일 수 있습니다. –