传统汇编程序和更高级别的编译器根据预期用途使用多个内存段。因此,存在数据段,堆栈段,bss和文本段。文本段也称为代码段。
文字细分?对于机器代码?
我已经问过我能找到的所有老前辈,机器码无法读取的内容如何被称为“文本段”。他们每个人都同意这一点,这就是所谓的,但他们似乎都没有对它感到惊讶。没有人可以提供解释。
这是你通过启发我们来展示你的极客历史知识的机会。
答案 0 :(得分:16)
对于nos的评论稍微进一步,我打开了GE-635 Programming Manual的扫描版本,并在宏汇编程序的部分中找到了以下内容:
GE-625/635宏汇编程序是 被提供给予 一些专业程序员 编译器的便利性和 汇编程序的灵活性。 [...] 输出选项使他能够获得 可重定位的二进制文本以及 绝对格式。
因此,似乎“二进制文本”的使用是GE口语,或者当时可能是一个常用的术语(请记住那些是读卡器/打卡器用于大量IO的日子)。因此,一条可能的途径是GE,通过GE-645的Multics,通过贝尔实验室的Multics工作到Unix的Unix。
答案 1 :(得分:3)
可能是因为程序代码,无论是难以阅读的机器指令,还是程序 text - 即包含指令的文本?就像你把微积分书称为教科书一样,虽然除非你熟悉代码的数学符号,否则很难解密。
答案 2 :(得分:2)
来自Wictionary:
我建议计算机术语的含义源自程序在程序运行之前写入的程序,而不是数据,读入,处理,然后写回。
答案 3 :(得分:1)
这可能与以下事实有关:代码部分通常是只读的,并且它还可以包含文本字符串,该字符串可以作为程序显示给用户的文本消息。因此,“文本”部分。这与“数据”部分包含的可以修改的数据相反。
答案 4 :(得分:0)
我建议意义引用汇编程序(在那种情况下是我们所说的)语言是文本,可读文本。因此,段.text可以被描述为编写代码程序(文本)的段和程序文本所在的段,但最后称为段.data。它也可以称为segment .code,因为它是程序代码所在的段。
在我看来应该只是调用:.code(它是文本,并且它在逻辑上与其他部分不同)。
答案 5 :(得分:0)
我一直想像它是与人类可读文本的类比。
您用英语写了一段文字。它是一串字母,标点符号等,并遵守该语言定义的某些规则(即句法,语法等)。 懂该语言的人可以理解它。
同样,您用机器语言编写(即构建)“文本”。它是一串二进制数据(数字),并且遵守该语言定义的某些规则(即指令集体系结构)。 知道该机器语言(即实现ISA)的处理器可以理解(即执行)。
IMO,术语“代码”不太合逻辑。 “代码”是指已经从其原始形式转换(编码)为某种替代表示形式(出于任何目的)的一条信息。但是,对于可执行文件“代码”,尚不清楚其原始格式是什么。
答案 6 :(得分:0)