37

Traditional assembler, and higher level compilers work with several memory segments, according to intended use. Hence, there is a data segment, a stack segment, a bss, and text segment. The text segment is also called the code segment.

Text segment? For machine code?

I have asked all the old-timers I could find, how something as unreadable as machine code came to be know as the "text segment". Every one of them agreed that, that was really what it was called, but none of them seemed to be surprised by it. And no one could offer an explanation.

Here's your chance to show off your geek history knowledge by enlightening us.

4

8 回答 8

26

进一步了解 nos 的评论,我找到了GE-635 编程手册的扫描版本,并在宏汇编器部分找到以下内容:

GE-625/635 宏汇编器被提供给专业程序员一些编译器的便利和汇编器的灵活性。[...] 输出选项使他能够获得可重定位和绝对格式的二进制文本。

因此,“二进制文本”的使用似乎是 GE 的俗语,或者可能是当时常用的术语(请记住,那是读卡器/打孔器用于大量 IO 的日子)。因此,一种可能的路径是 GE,通过 GE-645 到 Multics,通过贝尔实验室的 Multics 工作到 Unix,再到 Linux。

于 2009-08-15T18:45:54.973 回答
5

可能是因为程序代码,无论是难以阅读的机器指令,实际上是程序文本——即包含指令的文本吗?就像您将微积分书称为教科书一样,尽管除非您熟悉作为代码的数学符号,否则很难破译。

于 2009-08-15T18:33:03.673 回答
4

这可能与代码部分通常是只读的这一事实有关,并且它还可能包含程序可以作为消息显示给用户的文本消息的字符串。因此是“文本”部分。这与包含可以修改的数据的“数据”部分形成对比。

于 2018-07-01T04:30:41.647 回答
0

字典

  1. 由多个字形、字符、符号或句子组成的书面段落。
  2. 一本书、大部头或其他著作。
  3. (口语)手机之间传输的简短书面信息;一条短信。
  4. (计算)可以解释为人类可读文本的数据(通常与二进制数据形成对比)。

我认为计算机术语的含义源于程序是在程序运行之前写入计算机的事实,而不是数据,它被读入,处理,然后写回。

于 2009-08-15T21:03:27.643 回答
0

我建议意思是指汇编器(在这种情况下,这就是我们所说的)语言是文本,可读文本。所以段.text可以被理解为编写代码程序(文本)的段和程序的文本所在的段,但最后称为段.data。它也可以称为段 .code 因为是程序代码所在的段。

在我看来应该只是称为:.code(这是文本,并且它在逻辑上与其他部分有所不同)。

于 2010-11-10T20:48:59.127 回答
0

我一直认为它来自与人类可读文本的类比。

你用英语写一段文字。它是一串字母、标点符号等,并遵守语言定义的某些规则(即句法、语法等)。懂语言的人都能听懂。

同样,您用机器语言编写(即构建)“文本”。它是一串二进制数据(数字)并遵守语言定义的某些规则(即指令集架构)。它可以被知道该机器语言(即实现ISA)的处理器理解(即执行)。

IMO 术语“代码”不太合乎逻辑。“代码”是指已从原始形式转换(编码)为某种替代表示(无论出于何种目的)的一条信息。但是对于可执行的“代码”,不清楚哪个是它的“原始”形式。

于 2020-01-22T11:36:23.430 回答
0

名称段来自旧时代使用的内存管理技术,现在已被分页取代。我相信名称文本来自与小说的类比。就像小说中的文字一样,代码可以被认为是小说中的一段文字。代码的文本部分描述了代码或者它讲述了程序做什么的故事。

我同意kdgregory的回答,但我认为binary text符号来自这个事实。

于 2020-06-08T07:56:09.967 回答
0

我会说“文本”意味着阅读。因为文本段是只读的,所以我认为它来自于教科书的思想,也就是最字面意义上的只读。

要么是那个,要么是当时内部使用的某种缩写,这可能意味着“执行”之类的东西。不过,词源会随着时间的流逝而消失。

于 2021-08-26T12:28:44.147 回答