将二进制代码加载到硬件

时间:2017-10-21 07:20:02

标签: assembly

我最近正在研究软件的详细工作。所以学习构建在Altair 8800上的pc并运行它们,他们使用BASIC语言创建了一个解释器,将程序转换为基于处理器指令集的机器代码。他们使用磁带以二进制格式代码提供解释器。

  • 但后来他们如何设法安装解释器是编译器 直接到硬件,因为他们只了解机器代码?

  • 考虑我有一个处理器,并根据我的指令集 用汇编语言(使用操作码)再次开发了一个解释器 我需要将它们转换为机器代码,但如何将其转换为 处理器内存,是在今天使用磁带吗? 世界很难?

1 个答案:

答案 0 :(得分:1)

  

他们使用磁带以二进制格式代码提供解释器。

当CPU启动时,它会从某个地址开始读取机器代码指令。我不知道8800但是Altair 680没有RAM内存,而是ROM内存(必须额外购买!)。

在20世纪70年代,ROM存储器通常是已经在工厂中写入的存储器,在生产之后无法擦除,覆盖或修改。 (就像今天在音乐商店购买的CD一样。)

您可以为680购买的最简单的ROM包含一个程序,该程序评估从连接到计算机的“终端”(例如键盘和屏幕)接收的命令。如果您键入某个命令该程序(而不是计算机本身)正在将另一个程序从磁带加载到RAM中。

在680上,您可以购买并安装不同的ROM - 例如已经包含基本解释器的ROM。在这种情况下,您不必再将其从磁带加载到RAM中。

  

考虑我有一个处理器......如何将其输入处理器内存

正如我所写:CPU必须有一些内存,它已经包含在CPU启动时执行的代码。

这可能已经是“你的”代码(使用微控制器时通常就是这种情况)或某些代码从某处(例如从磁带)加载其他代码。

  

在今天的世界里

当计算机开机时,现代PC也有内存已包含某些程序。您可能会说,此程序正在从硬盘加载操作系统......