Возможно, многие из вас слышали о Трах мозгов -эзотерический язык программирования, или инструмент для показухи.
Но здесь у каждого свое мнение.
Ниже хочу привести перевод одного энтузиаста, создавшего компьютер под управлением Brainfuck.
Компьютерный трах мозгов
Новости
Какие-то уроды (по-другому их и не назовешь) действительно собрали копию этого проекта и написали программа умножения для него ..
Сущность
Похоже, что код, который я разместил здесь, не работает, и я потерял исходный код. Теперь я переписал код ПЗУ, и он работает нормально.В долгосрочной перспективе было бы глупо не использовать в PIC внутренние подтягивающие резисторы вместо резисторов сопротивлением 10 кОм, которые я использую сейчас.
Это, вероятно, очень незначительно снизит энергопотребление светодиодов, возможно, всего на несколько микроампер.
Ни один из программных проектов, над которыми я работаю, нельзя считать полезным, но этот играет особую роль.
Я собрал компьютер на микроконтроллере PIC16F84A, используя 8-контактный DIP-переключатель (имеет четыре пары контактов) и 8 красных светодиодов диаметром 3 мм.
.
Скорость? Я использую тактовый кварц с частотой 32,768 кГц – и поскольку ПОС Для каждой инструкции требуется около 4 тактов, и все они выполняются со скоростью 8192 инструкции в секунду.
А теперь самое лучшее.
Единственная программа - простой "редактор" и интерпретатор Brainfuck! Это довольно неэффективно из-за простоты архитектуры PIC, поэтому от него можно ожидать около 100-500 операций в секунду.
Он имеет 68 байт оперативной памяти, из которых 32 могут использоваться пользовательскими программами.
Программы хранятся в энергонезависимой памяти PIC (64 байта), что позволяет программам выполнять до 128 инструкций (2 3-битные инструкции и 2 нулевых бита на байт).
Самая большая и сложная программа, когда-либо написанная для этого фантастического компьютера: ,>,[<+>-]<.
Его перевели на компьютер путем преобразования программы в последовательность чисел — 72743021536, — которые вводились по одной цифре при наборе в двоичной системе счисления.
Brainfuck Computer, конечно, не представляет собой ничего особенного, и я хочу его улучшить, теоретически это возможно, поскольку я фактически добавил некоторые функции, чтобы сделать редактор немного более дружелюбным к пользователю (или, скорее, немного менее враждебным к пользователю).
Эту полезную программу написал мой друг Рик, и если вы нарушите его авторские права, он, скорее всего, надерет вам задницу.
Вы были предупреждены.
Кстати, тот, кто сможет догадаться, что на самом деле делает эта программа, получит серьезный опыт! (Подсказка: вам будет предложено ввести и сложить два числа, а затем распечатать результат.)
Необходимые компоненты.
Компонент: Характеристика.
B1-B4: DIP-переключатель.
C1-C2: Конденсаторы;100 пФ; керамический.
D1-D8: красные светодиоды диаметром 3 мм.
R1-R9: Резисторы;1к.
R10-R13: Резисторы; 10 кОм.
U1: микроконтроллер PIC16F84A. X1: кристалл 32,786 кГц.
Результат всего вышеперечисленного.
Самое приятное в этом проекте то, что вы можете получить все детали за два-три доллара США (конечно, если вы живете в США, но в принципе эти детали не составит труда найти в любой стране).
Кроме того, Microchip бесплатно отправит вам PIC, что сэкономит вам немного денег.
Связанные файлы
Исходный код (с документацией) Компьютерное изображениеОт меня:
Я добавил некоторые пояснения, комментарии и ссылки, которых не было в оригинале.О любых неточностях и ошибках прошу сообщать в личку.
Буду признателен за аргументированные комментарии и ваши мнения по поводу данного проекта.
Теги: #brainfuck #сделай сам #строительство #программирование #brainfuck
-
Покадровый Обзор Платы Msi Z77A-Gd65
19 Oct, 24 -
Укрощение Ссылок — Сокращение Ссылок 2
19 Oct, 24 -
Что Такое Cms?...
19 Oct, 24 -
Интересное В Рунете
19 Oct, 24 -
Какие Копии Игр Вы Покупаете?
19 Oct, 24 -
Что? Где? Сколько? В Региональном Рунете
19 Oct, 24