assembly - 程序集的"fs"/"gs"寄存器是什么?

  显示原文与译文双语对照的内容
67 4

所以我知道以下寄存器应该是什么以及它们的用途:

  • CS = 代码段( 用于 IP )

  • DS = 数据段( 用于 MOV )

  • ES = 目标段( 用于 MOVS,等等 )

  • SS = 堆栈段( 用于 SP )

但是,下面的寄存器打算用于?

  • FS ="文件段"?

  • GS =?

注意:如果问的是CPU的用途,我是收费的,不是询问任何特定的操作系统--我问他们打算使用什么。

时间: 原作者:

92 2

寄存器的FSGS 是段寄存器。 它们没有处理器定义的目的,而是由操作系统运行的目的来确定的。 在 Windows 64位 中,GS register 用于指向操作系统定义的结构。 FSGS 通常被操作系统内核用来访问线程特定的内存。 在 Windows 中,GS register 用于管理线程特定的内存。 linux内核使用 GS 访问cpu特定内存。

原作者:
...