Введение

TI 57 – программируемый калькулятор, произведенный компанией Texas Instruments в период с 1977 по 1982 год. Было выпущено три модели под этим названием компанией TI, первой была TI 57 со светодиодным дисплеем, представленная в сентябре 1977 года вместе с более мощными TI 58 и TI 59. Она имела 50 шагов программы и восемь регистров памяти. Две более поздние версии, TI 57 LCD и TI 57 LCD II, оснащены ЖК-дисплеем, но были менее производительными (работали значительно медленнее) и имели существенно меньший объем памяти: 48 байт, которые необходимо было распределять между "шагами" программы и регистрами хранения. В TI 57 отсутствовала энергонезависимая память, поэтому все введенные программы терялись при выключении калькулятора или разрядке батареи. Версия TI 57 со светодиодным дисплеем работала от аккумуляторного блока с никель-кадмиевыми батареями BP7, который содержал две батареи типа AA и электронику для повышения напряжения до 9 В, необходимых для работы калькулятора. Популярной модификацией является питание от 9-вольтовой батареи с использованием крышки батарейного отсека от светодиодного TI 30 или части разобранного аккумуляторного блока. Эта модификация обеспечивает более длительное время работы от батареи по сравнению с оригинальным блоком. В комплект, по крайней мере, с оригинальной версией, входила книга под названием "Making Tracks Into Programming", которая позиционировалась как "пошаговое руководство по освоению возможностей, простоты и удовольствия от использования вашего программируемого TI 57". Компания Radio Shack также продавала этот калькулятор под брендом EC 4000.

Программирование

Возможности программирования TI 57 были схожи с возможностями примитивного макроассемблера. Любое нажатие клавиши можно было сохранить, вместе с некоторыми простыми командами управления потоком программы и условными тестами. К ним относились:

GTO (GoTO): Перемещает указатель программы немедленно к метке (0–9) или к определенному шагу программы (00–49). SBR (SuBRoutine): Перемещает программу к метке, а при обнаружении команды Inv SBR, выполнение продолжается со следующей инструкции после исходной SBR. DSZ (Decrement and Skip on Zero): Уменьшает значение регистра памяти 0 и пропускает следующую инструкцию, если результат равен нулю. Существовала также обратная форма – уменьшение и пропуск, если не равно нулю. Проверку на равенство/неравенство можно было выполнять относительно значения на дисплее (регистр x) и специального тестового регистра t. Результат проверки приводил к условному пропуску следующей инструкции. Программы можно было редактировать, вставляя, удаляя или перезаписывая шаг программы. Предоставлялась функция NOP (No OPeration) для игнорирования шага программы. Из-за жесткого ограничения в 50 шагов программы использование NOP было нечастым. TI 57 использовал принцип "один шаг – одна инструкция", независимо от того, требовала ли одна инструкция нажатия одной или до четырех клавиш.