title: store itdr on x64
body: <p>I tried to get idt address in my driver, I made function in asm which returns what idtr contains:</p>
  
  <pre><code>.data
    myData dq 0
  
  .code
  Function PROC
    sidt myData
    mov rax, myData
    ret
  Function ENDP
  END
  </code></pre>
  
  <p>But the address which I get is weird, for example in windbg:</p>
  
  <pre><code>r idtr
  idtr=fffff80000b95080
  </code></pre>
  
  <p>However my driver shows:</p>
  
  <pre><code>idtr = f80000b950800fff
  </code></pre>
  
  <p>I read that on x64 IDTR contains 64-bit base address of IDT table. I would appreciate if anyone explain why my output is not the same as from WinDbg.  </p>