"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." 通常默认是为每个内存属性创建一个节。通常:
- 只读
- Read/write
- 零需求
- 可执行文件
但是,大多数链接器都具有允许程序员以不同方式设置 psect 的高级设置。
一些汇编器有 psect 指令将数据放在特定的部分。
有时 psect 被称为 "segments." 例如,"code segment"
正如您所说,还有一些硬件部分几乎是许多英特尔处理器的脑损伤方面(尽管其他一些处理器使用 [d] 它们)。在 64 位模式下,Intel 终于倾倒了段。此用途中的段由段寄存器访问。
因此,这是两个不同的概念。
看到linux内存管理只是基于页的,没有"segment"的概念。
不过,at&t的assembly还是有"section"的概念,像code section,data section,就像intel assmebly的"segment",看起来很像。
所以我的问题是,"section" 与 intel assembly 中的 "segment" 具有相同的含义吗?
链接器将具有相同属性的页面收集到"sections" 或"program sections" 或"psects." 通常默认是为每个内存属性创建一个节。通常:
- 只读
- Read/write
- 零需求
- 可执行文件
但是,大多数链接器都具有允许程序员以不同方式设置 psect 的高级设置。
一些汇编器有 psect 指令将数据放在特定的部分。
有时 psect 被称为 "segments." 例如,"code segment"
正如您所说,还有一些硬件部分几乎是许多英特尔处理器的脑损伤方面(尽管其他一些处理器使用 [d] 它们)。在 64 位模式下,Intel 终于倾倒了段。此用途中的段由段寄存器访问。
因此,这是两个不同的概念。