_asm{ sidt [IDT]
mov edx,cr0
push edx
btr edx,16 /* Supervisor Mode Write Protect */
mov cr0,edx
mov edx,[dword ptr IDT+2]
xchg ax,[edx+0x08] /* Low-Teil Offset */
rol eax,16
xchg ax,[edx+0x0E] /* High-Teil Offset */
rol eax,16
xchg cx,[edx+0x0A] /* Segment */
pop edx
mov cr0,edx
ret
}