Кіріспе
Техас Инструментс компаниясы шығарған бағдарламаланатын калькулятор.
TI 57 – Техас Инструментс компаниясы 1977 және 1982 жылдар аралығында жасаған бағдарламаланатын калькулятор. TI компаниясы осы атаумен үш модель шығарды, алғашқысы TI 57 болды, ол 1977 жылдың қыркүйегінде, TI 58 және TI 59 модельдерімен бірге жарық көрді. Оның 50 бағдарламалық қадамы және 8 жад регистрі болды. Кейінірек шыққан TI 57 LCD және TI 57 LCD II модельдері LCD дисплейімен жабдықталған, бірақ олардың қуаты төмен (әлдеқайда баяу жұмыс істеді) және жады көлемі кішкентай болды: бағдарламаның «қадамдары» мен жад регистрлері үшін бөлінетін 48 байт. TI 57-де тұрақты жады болмағандықтан, калькуляторды өшіргенде немесе батареясы біткенде енгізілген бағдарламалар жойылып кететін. TI 57-нің LED дисплейлі нұсқасы, калькуляторға қажетті 9В кернеуді қамтамасыз ететін электроникасымен бірге екі АА батареясы бар қайта зарядталатын никель-кадмий батарея жинағы BP7-мен жабдықталған. Көп қолданылатын өзгерту – 9В батареядан қуат алу және TI 30 LED калькуляторының батарея бөлімін немесе бөлшектелген батарея жинағының бөлігін пайдалану. Бұл өзгерту бастапқы батарея жинағына қарағанда батареяның қызмет ету мерзімін ұзартады. Калькулятормен бірге, кемінде алғашқы нұсқасы, «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): Сақтау тіркегішін нөлге кемітеді және нәтиже нөл болса, келесі нұсқауды өткізіп жібереді. Сондай-ақ, кері түрі де болды: Кеміту және нөл болмаса, өткізіп жіберу. Дисплейдегі мәнмен (x тіркегіші) және арнайы тексеру тіркегішімен (t) теңдік/теңсіздік тексерулері жүргізілуі мүмкін. Тексеру нәтижесі келесі нұсқаудың шартты түрде өткізіліп кетуіне себеп болады. Бағдарламаларды бағдарлама қадамын қосу, жою немесе жаңадан жазу арқылы өңдеуге болады. Бағдарлама қадамын елемеуге мүмкіндік беретін NOP (No OPeration) функциясы қарастырылған. 50 бағдарламалық қадамның қатаң шегі болғандықтан, NOP көбінесе қолданылмады. TI 57 бір нұсқаудың бір немесе төрт перне басуды қажет етуіне қарамастан, «бір қадам, бір нұсқау» принципін қолданды.
GTO (GoTO): Causes program pointer to jump immediately to a Label (0 9) or to a specific program step (00 to 49). SBR (SuBRoutine): Causes a program to jump to a Label, and on encountering an Inv SBR command, continue executing at the instruction immediately following the original SBR. DSZ (Decrement and Skip on Zero): Decrements storage register zero, and skips the next instruction if the result is zero. There was also an inverse form, Decrement and Skip if Not Zero. Tests for equality/inequality could be performed against a value on the display (the x register) and a dedicated test register, t. The result of the test would cause the next instruction to be conditionally skipped. Programs could be edited by inserting, deleting, or overwriting a program step. A NOP (No OPeration) function was provided to allow a program step to be ignored. Due to the hard limit of 50 program steps, use of NOP was infrequent. The TI 57 used the "one step, one instruction" principle, regardless of whether one instruction required one or up to four keypresses.