20岁时的Am29000 C编译器与浏览器

How I developed an Am29000 C compiler and web browser

20岁时的Am29000 C编译器与浏览器

1998年圣诞节到1999年生日期间,20岁的我在墨西哥用Am29000处理器从零开发了一套C编译器和网页浏览器。当时互联网如野火般蔓延,我却在只有512KB内存的机器上挣扎:无法运行GCC,只能基于自己为transputer编写的编译器进行移植。我通过动态内存管理重构表达式树,手动实现寄存器分配,最终让Am29000能运行C代码并浏览网页。这段经历不仅是对底层架构的深入探索,更是那个没有现成工具的时代里,一个年轻人用代码对抗硬件限制的缩影。

在只有512KB内存的机器上,我不得不手动实现寄存器分配,才能让Am29000运行C代码。
  1. jacquesm

    太迷人了。DJ Delorie 值得被提及,我想知道他近况如何,我的职业生涯很大程度上要归功于他。

    这篇文章读起来非常像我最近复活旧操作系统时的经历,只是 Oscar 比我走得更远,他还写出了一个能用的浏览器——尽管当年的浏览器要简单得多,但这依然令人印象深刻。我手头还有一堆那个年代的磁盘,或许该找个办法读一下,看看里面都有什么。

    编辑:我给 DJ Delorie 发了一封短信,我本该几年前就发的,没有他我根本做不到。

  2. anthk

    “Ciega, sordomuda”,“Amor de papel”,“Laura no esta”和“Barbie girl”。

    可怜的家伙……

    https://github.com/nanochess/Am29000

    这很酷,风格非常像 Motif。

  3. dboreham

    这部分勾起了我更早以前的回忆:

    “最糟糕的是,它还需要另外两个程序:Flex 和 Bison。”

    80 年代初,我曾想把一个 C 编译器移植到新机器上(我忘了当时是 K&R 还是 pcc,但那是当时你能搞到源码的唯二 C 编译器,法律问题暂且不谈……)。在某个时刻,我也有过同样的 realization:呃……这玩意儿还需要另外两个相当大的东西:yacc 和 lex。编译器的“先有鱼”问题:“先移植解析器生成器”。

同日更多故事

2026-08-17