Интересные особенности программирования HP-12C - программа сохраняется при выключении устройства, как собственно и регистры (которых 20), но часть памяти регистров может быть отведена под программу. Переход на адрес 00 означает остановку программы, поэтому туда никакую команду записать невозможно, а GTO 00 понимается как остановка программы. По-умолчанию, когда имеется 20 регистров, программе отведено только 8 ячеек - если воодить программу далее, то последние регистры будут превращаться в очередные 7 ячеек памяти программ - таким образом при максимально-возможных 99 ячейках программы, количество доступных регистров уменьшится до 7 (99-8=91/7=13 регистров скушаются). Также важно помнить, что часть регистров замапплены на разные финансовые и статистические функции...
Команда f P/R переключает между режимами Program (ввод программы) и Run (выполнения). SST и BST шагают между ячейками программы вперёд и назад. Одномоментно в режиме ввода программ на экране всегда показывается только одна ячейка (адрес слева от 00 до 99), в которой могут сидеть от 1 до 3 кнопконажатий (но всё равно код представляется одним байтом, судя по всему). Кнопконажатие кодируется двухразрядным десятичным числом, где цифра из десятков обозначает номер строки кнопки на лице калькулятора, а цифра из единиц - номер колонки кнопки на лице калькулятора - например 26 задаёт кнопку EEX (ввод степени десятки) - исключение сделано для кнопки ON (запрограммировать её невозможно - если её нажать в режиме ввода программ, то калькулятор просто выключится) и чисел - цифры от 0 до 1 так и показываются - 0,1,2,3,4,5,6,7,8,9 (с пробелом вместо цифры десятков). Команды задаваемые через кнопки f и g представляются двумя двухразрядными числами, например g e^x будет отображено в режиме ввода программы как 42 (код кнопки g) и 22 (код кнопки 1/x и e^x). Более сложные вещи, например STO + 1 (прибавить число на экране к регистру 1 и сохранить результат в регистре 1) будут отображены как три двухразрядных числа, занимающих одну программную ячейку (в данном случае 44,40 1), правда это работает только с регистрами от 0 до 4. Переход также будет выглядеть как 3 числа - 43,33 99 будет обозначать GTO 99).
P.S. В 2003 году вышел "HP-12C Platinum" вроде как с ARM-ом внутри, где разрешается вводить выражения по человечески, а не по польски - со скобками, а также допускается 399 шагов программы вместо 99 и при вводе программы адреса показываются как трёхразрядные десятичные числа, а не двухразрядные как в оригинальном HP-12C и они оба до сих пор продаются (мой не платинум). Также у платинума есть более дешёвый клон
Victor V12 