编程语言只有一个命令和内置的操作系统

2021-04-12 10:36:35

Dawnos是一款新的操作系统,旨在不仅可以消除主流oSS等窗户的效率低下,而是“解放来自帝国主义的压迫&#34的人;英特尔。它的创建者仅由GERI,在Subleq芯片上建立它,Subleq A“一个指令集计算机”(或Oisc),一个只有一个命令的编程语言/架构。这意味着语言缺乏Goto,而对于流量控制,或者用于分支,甚至增加,只需单个操作替换它们 - 但它是完整的,能够支持整个操作系统。我与Dawnos的创造者交谈,我们面试的文本下面运行,但首先有助于对Subleq进行介绍。

OISCS(发音为“威士忌”)有有效地结合某种形式的流量控制,分支和数据操纵的命令。通常会通过混淆程序和内存空间,有效地使其成为自我修改程序。人们可以将OISC视为一个极端形式的RISC架构(它们有时被称为URISC,用于终极减少指令集电脑)。在RISC架构中,二进制文件分解为更长的机器操作列表,但它们采用更少的晶体管运行,并且由于其均匀的尺寸而可以管制。

Subleq的一个命令给它它的名称:“如果小于或等于”减去和分支。“每个程序都是数字列表。每个数字都有两个角色:它是一个指向内存中的另一个地方的指针,它也是可以打开的数据。 Subleq的命令一次读取三个,看看每个指针:将它们视为a,b,c. subleq的命令转到由a指向的位置,从b指向的位置中减去它,并将其存储在b B.如果B小于或等于零,则它进入位置C,否则它会进入下一个三个数字。例如,使用此程序:

我们首先从7(A和B的位置)中减去7,并且将在位置B中存储结果(0)。由于结果0,较小或等于0,然后跳转到列出的数据位置在c,这是6:

现在我们使用存储器位置6,7和8作为参数A,B和C的方式进行同样的事情。由于C保持0的值,它将在完成时跳回到第一存储器单元:

此时,存储器单元#1更改为4;由于这超过零,因此我们没有跳转,并继续下一行。 *

可以了解如何处理屏幕的暂停和打印,以及如何从“代码”部分中分离程序的“数据”部分的更好意义。

Warning: Can only detect less than 5000 characters

多年前有人提到了Subleq,所以我决定尝试一下。它非常简单富有效率。首先,我期待它将拥有数十个循环比其他任何事情与其他架构相同 - 但实际上它向其他架构提供了非常相似的性能,好像你编译C代码,其他架构的神奇性能也消失了。 Subleq与Perve很好,所以我选择了,并Quikcly完成了编译器的初始版本。表现令人惊喜,二进制代码大小是目前唯一的问题,但仍然不野蛮。

Subleq可能是或可能不是最有效的尿布指令,但它的简单易于理解,并从硬件设计和软件设计方面与之合作。这基本上是唯一的逻辑选择。

»Subleq架构是否意味着相同的二进制文件将有更多的机器指令,而不是x86?

是的,我提到早逝,它需要更多的操作码来执行操作。但事实上,x86也是如此。如果在x86上添加两个数字,则您的指令首先必须加载到RAM,然后必须从RAM加载指令和分段,然后必须执行多个指令以将段添加到执行目标和源。 ,对该寻址添加的分页进行添加,执行实际操作,并发出写入内存。在Subleq上添加一个数字也是相同的操作。差异是Opcode本身,x86有一个刚好的未记录的神Opcode为他(和一切),同时Subleq需要一个短的Houdini代码来执行它,这结果更大的二进制文件,但没有必要的执行速度的结果差异,如内部的差异在CPU中会发生类似的事情。

小启动时间是由于我的操作系统的设计,而且没有与指令集的连接(它也将立即启动每个其他架构)。

»您需要直接在Subleq指令中做多少工作来发展这个?你发现这个挑战了吗?

我写了C编译器后,基本上没有。我不得不拼写编译器一起拼写,以检测它必须与堆栈同步(因为没有硬件堆栈管理或在Subleq上没有寄存器),或者在我看到数组地址时应该插入的操作码,或者一些基本操作作为Subleq是非常的马铃薯,我不得不修复很多错误,并冥想很多,但它不是很多Subleq二进制代码,因为我在c本身写了更复杂的东西(乘法,等等),我也在C中完全写了操作系统。所以基本上有一个很少有但是Extremepyy挑战我必须直接在Subleq中做的事情,所有这些都在编译器代码生成器本身中进行。在代码中没有,内联的,在任何地方。

最后,我问了盖子关于在网站上叫他,以及他的匈牙利根。 匈牙利在这个故事本身并不那么壮观。 这种刺激 - 他们的人 - 不仅仅对我来说,不仅仅是关于这个操作系统,而且一般地给了我。 这是一个小小的和危险的后期Munisiver Mafia刺激,我不想以任何方式代表我。 我只是一个在这里出生和生活的公民,但我不属于这里,我解离我自己。 如果这将是一个Olimpia的照明系统,我不会在匈牙利国旗下面开始。