"memory segment" 是汇编编程中的intel-only 概念吗?

Is "memory segment" an intel-only concept in assembly programming?

看到linux内存管理只是基于页的,没有"segment"的概念。

不过,at&t的assembly还是有"section"的概念,像code section,data section,就像intel assmebly的"segment",看起来很像。

所以我的问题是,"section" 与 intel assembly 中的 "segment" 具有相同的含义吗?

链接器将具有相同属性的页面收集到"sections" 或"program sections" 或"psects." 通常默认是为每个内存属性创建一个节。通常:

  1. 只读
  2. Read/write
  3. 零需求
  4. 可执行文件

但是,大多数链接器都具有允许程序员以不同方式设置 psect 的高级设置。

一些汇编器有 psect 指令将数据放在特定的部分。

有时 psect 被称为 "segments." 例如,"code segment"

正如您所说,还有一些硬件部分几乎是许多英特尔处理器的脑损伤方面(尽管其他一些处理器使用 [d] 它们)。在 64 位模式下,Intel 终于倾倒了段。此用途中的段由段寄存器访问。

因此,这是两个不同的概念。