Join Nostr
2026-06-01 04:04:34 UTC

Евгений Степанищев (RSS Feed) on Nostr: Хаки в «Электронике МК-61» Очень интересно ...

Хаки в «Электронике МК-61»

Очень интересно разбирать хаки, которые разные люди изобретали, чтобы уместить свои программы в 105 байт памяти калькулятора «Электроники МК-61». Их там действительно просто нереальное количество, они разной сложности, но один из них показателен в своей простоте.

В коде программы «Рембо-III (https://lordbss.narod.ru/pmk53.html)» есть несколько похожи мест (я буду приводить код на языке «МК-Про (https://github.com/bolknote/MKPro)» для наглядности):

fn lost() {
halt("ЕГГОГ")
}

fn front_stop() {

if cells[7] < 0 {
lost()
}

}

Если некое проверяемое значение меньше нуля (в двух остальных местах — меньше или равно нулю), то пишем на экране «ЕГГОГ» — слово «error», это одно из немногих слов, которое калькулятор способен отобразить, так как у него есть специальная логика для отображения некоторых букв.

Оптимизатор умеет заменять halt("ЕГГОГ") одним опкодом, потому что это «встроенное» в калькулятор слово, но тут он пишет относительно много кода — проверка условия и вызов, тогда как проверку и вывод «еррора» можно объединить в один опкод — F √ или F lg в зависимости от условия.

Если число строго меньше нуля, квадратный корень из него даст ту же ошибку, как и логарифм от числа, которое меньше или равно нулю.

В «Рембо-III» это сокращает программу на четыре байта. Это существенно, когда у доступно так мало памяти.

https://bolknote.ru/all/haki-v-elektronike-mk-61/