Я попытался получить адрес idt в моем драйвере, я создал функцию в asm, которая возвращает то, что содержит idtr:
.data
myData dq 0
.code
Function PROC
sidt myData
mov rax, myData
ret
Function ENDP
END
Но адрес, который я получаю, странный, например, в windbg:
r idtr
idtr=fffff80000b95080
Однако мой драйвер показывает:
idtr = f80000b950800fff
Я читал, что на x64 IDTR содержит 64-битный базовый адрес таблицы IDT. Буду признателен, если кто-нибудь объяснит, почему мой вывод отличается от WinDbg.