Tumble Forth: от ассемблера до C-компилятора

Tumble Forth – from assembly to OS with C compiler

Автор Collapse OS и Dusk OS запускает серию статей, которая проведет обычного веб-разработчика через кроличью нору низкоуровневого программирования. Начиная с «голого железа» PC, вы соберете Forth с нуля, затем перейдете к Dusk OS и напишете частичный C-компилятор, достаточный для компиляции примеров. Цель — расширить кругозор в области вычислений, шаг за шагом, с сомнительными шутками в каждой серии.

Начиная с «голого железа» на платформе PC, мы собираем Forth с нуля, затем переходим на Dusk OS и собираем частичный C-компилятор (достаточный для компиляции нашего примера кода), опять же с нуля.
  1. fjfaase

    Для компилятора C, который я разработал для замены компилятора GNU Mes в проекте live-bootstrap, я также использовал язык, похожий на Forth, с двумя стеками. Один стек — для параметров и возвращаемых значений, другой — для адресов возврата и локальных переменных. Язык, похожий на Forth, транслируется в ассемблер и через несколько шагов превращается в ELF-файл. Целевые архитектуры: x86, x86_64 и arm64. Работа по поддержке riscv64 начата, но в настоящее время приостановлена из-за других обязанностей. Если кто-то готов завершить её, у меня есть небольшие средства в качестве бонуса.

  2. zovirl

    > Альтернативный подход — обойти всю эту сложность и построить свою собственную ОС.

    > Мы пойдем на «голое железо» и затем построим свою операционную систему, со своим компилятором C. Так проще.

    Мне нравится дерзость этих утверждений. И я ценю такой подход, который говорит: «давайте реализуем максимально простую версию _______ , чтобы понять, как это делается».

  3. drivers99

    О да, это как раз в моём вкусе. Я давно подумывал о создании Forth на «голом железе» (прошлым летом написал интерпретатор Forth на C, а также немного тестировал манипуляции со стеком на ручном ассемблере на C64U), и мысль, которая (случайно) пришла мне в голову за несколько мгновений до того, как я увидел эту ссылку, была о создании загрузочного сектора на нескольких дискетах, которые я только что достал для своего IBM PC 8088. Я знаю, что это сработает только в режиме Real Mode, но, возможно, с этого будет весело начать. Редактирую: я знал о CollapseOS, но не осознавал, что это существует уже давно.

Ещё за этот день

2026-08-21