branfuck - это такой простейший язык программирования который реализует некую "полную машину Тьюринга", подробнее в википедии, там же и подробное описание команд. Кому лень - пример, выводящий традиционное Hello world:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.
Для тех, кто видит в первый раз это кажется диким. Ну разе lisp не страшнее?)
Other
Linux: простой web сервер на asm
Спятил, да? А ещё если напишу, что планировал сделать многопоточность и нечто CGI-интерфейса? Вполне может быть, в рамках just for fun
Но остановился на том, чтоб отдавать статические страницы - время не дало допилить, да и энтузиазм уменьшился. Идея мне пришла из за курсовой работа по "Системному программированию" В СПбГУ ИТМО. Всех заставили писать резидент под DOS, на 8086 архитектуре. Не торт.
Основные фитчи, которые я успел реализовать:
- Форк, при необходимости
- Чтение конфига(ini-like)
- Создание слушающего сокета, установка параметров
- Парсер заголовков и запроса
- Обработчик запросов статического контента(не в /cgi-bin/)
- В некоторых местах совершенно корявую работу со стеком
Реализовано на NetwideASM, c частичным использованием функций glibc. Работать сервер будет только на 32-битном процессоре i686+, из за того, что дёргается прерывание ядра Linux - а номера функций отличаются в зависимости от процессора.
Linux и ассемблер!?
Глупо.. есть же си, правда? :) И куча замечательных языков. На сколько я знаю, значально линукс создавался для написания программ только на си более высоких языках.
Но конечно же можно писать даже на асме под линукс. Зачем?..