我遇到了这条指令here。我认为我理解错误,因为我的理解导致相信这条指令绝对没有。你能指点我理解它的错误吗?
sidt
应该是"store the contents of the global descriptor table register (GDTR) or the interrupt descriptor table register (IDTR) in the destination operand"。但由于目标操作数本身是idtr
,它实质上意味着在idtr
"中存储idtr
的内容,因此它实际上永远不会做任何事情。或者我错了吗?
答案 0 :(得分:2)
idtr
没有idtr寄存器,它是内存中的变量。您不能将idtr寄存器指定为操作数,它是隐式的。因此该指令正在读取idtr寄存器并将其放在名为idtr。