Valit Laiho Asked:2020-09-09 22:55:20 +0000 UTC2020-09-09 22:55:20 +0000 UTC 2020-09-09 22:55:20 +0000 UTC 汇编语言助记符是如何从二进制代码创建的? 772 告诉我在哪里挖掘信息,或者,请解释如何从命令0000 0100创建助记符,例如二进制代码中的加法ADD?从拨动开关和穿孔卡片上的孔/缺孔中,他们创造了在显示器上输入的文本,并将其转换为数字,这似乎是一种纯粹的魔法。 ассемблер 2 个回答 Voted Best Answer motpfofs 2020-09-09T23:03:08Z2020-09-09T23:03:08Z 最初,程序员用机器代码编写程序,组成长的零和一序列。机器代码从字面上表示处理器芯片“腿”上的高电压和低电压电平。构成算术逻辑单元的微电路的逻辑元件的内部结构决定了应该在控制引脚上设置什么电平。 用机器代码编程非常耗时,并且会产生大量错误,调试是一项艰巨的任务。很快就很清楚,为某个动作寻找正确的机器指令的过程可以自动化,并且在 50 年代他们开始使用助记符汇编语言。它允许以更人性化的方式呈现机器代码。 为了不记住一堆机器命令,程序员使用 编译器“替换”ADD类型的某些值而不是助记符0000 0100。粗略地说,就像文本编辑器中的“替换”操作。 更详细的了解可以推荐Harris D.M.的《数字电路与计算机体系结构》一书。 还有一门优秀的课程“NAND2tetris”(英文,免费),它可以让你经历从基本逻辑运算到计算机游戏设计微处理器的所有阶段,经历所有抽象层次。 Andrey 2020-09-10T00:49:52Z2020-09-10T00:49:52Z 如果我们回到起源,一切都不是这样。很久以前,人们就发明了数字和运算……起初有石头,然后是绳索、骨头和算盘。对这些元素执行了各种操作——加法和减法)。创建机器后,它被迫执行人们可以理解的操作——加法、减法、转移、移位(ADD、SUB、MOV、SHIFT、PUS、POP)。对于机器,它们是用二进制代码编码的(很可能,因为它进入了我的脑海)。而对于人们来说,为了让他们更容易编程,他们想出了将人们可以理解的单词等价物转换成代码的翻译器。JAMP-C3 ;)
最初,程序员用机器代码编写程序,组成长的零和一序列。机器代码从字面上表示处理器芯片“腿”上的高电压和低电压电平。构成算术逻辑单元的微电路的逻辑元件的内部结构决定了应该在控制引脚上设置什么电平。
用机器代码编程非常耗时,并且会产生大量错误,调试是一项艰巨的任务。很快就很清楚,为某个动作寻找正确的机器指令的过程可以自动化,并且在 50 年代他们开始使用助记符汇编语言。它允许以更人性化的方式呈现机器代码。
为了不记住一堆机器命令,程序员使用 编译器“替换”
ADD类型的某些值而不是助记符0000 0100。粗略地说,就像文本编辑器中的“替换”操作。更详细的了解可以推荐Harris D.M.的《数字电路与计算机体系结构》一书。
还有一门优秀的课程“NAND2tetris”(英文,免费),它可以让你经历从基本逻辑运算到计算机游戏设计微处理器的所有阶段,经历所有抽象层次。
如果我们回到起源,一切都不是这样。很久以前,人们就发明了数字和运算……起初有石头,然后是绳索、骨头和算盘。对这些元素执行了各种操作——加法和减法)。创建机器后,它被迫执行人们可以理解的操作——加法、减法、转移、移位(ADD、SUB、MOV、SHIFT、PUS、POP)。对于机器,它们是用二进制代码编码的(很可能,因为它进入了我的脑海)。而对于人们来说,为了让他们更容易编程,他们想出了将人们可以理解的单词等价物转换成代码的翻译器。JAMP-C3 ;)