 |
nedoPC.orgElectronics hobbyists community established in 2002 |
 |
|
Page 1 of 1
|
[ 13 posts ] |
|
Американский программируемый калькулятор HP-12C
Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Оказывается тут в магазинах до сих пор продаётся один из старейших американских микрокалькуляторов HP-12C, который впервые появился аж в 1981 году!
Я его себе купил, заплатив почти сотню баксов:
Калькулятор финансовый (разрешён на финансовых экзаменах), но основная его фишка в том, что он ПРОГРАММИРУЕМЫЙ в самом советском смысле слова - по типу наших МК и БЗ, т.е. программа это последовательность нажатий кнопок плюс несколько команд условного и безусловного ветвления - всего возможно 100 шагов...
P.S. Вот про него на сайте производителя:
http://www8.hp.com/us/en/hp-information ... itle_r0004
http://shopping.hp.com/en_US/home-offic ... Calculator
http://h10032.www1.hp.com/ctg/Manual/c00363319.pdf (про программирование во второй части документа)
|
25 Nov 2013 21:41 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Чем-то напоминает запись макроса в Ворде...
Из всех твоих приобретений мне почему-то нравится вот это:
Машинка весьма интересная: http://ru.wikipedia.org/wiki/Cambridge_Z88
PS. Кстати, приценился на Ебее - от 29 до 60 фунтов идёт. Около 8 фунтов - пересылка Королевской Почтой. Но боюсь, Почта России - все заслуги КП похерит... 
_________________ iLavr
|
26 Nov 2013 09:05 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Ну по идее советские программируемые микрокалькуляторы работали абсолютно точно также  Кстати про чуть более раннюю версию этого микрокалькулятора HP-11C (а также про более продвинутую HP-15) было написано в советской книжке Справочник по расчетам на микрокалькуляторах, автор Дьяконов В.П.
Она у меня в России осталась, но скоро мне её перешлют 
|
04 Feb 2014 16:27 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|

Книжку Дьяконова кстати родители таки прислали - и после внимательно просмотра, я понял, что HP-11С был чуток попродвинутее в смысле программируемости, т.к. в HP-12C добавили кучу финансовых расчётов, убрали тригонометрию и другую полезную инженерную математику, а также сократили до минимума программистские возможности (выкинули подпрограммы, сделали меньше условий ветвления и т.д.). Но тем не менее - это не отменяет того факта, что микрокалькулятор этот до сих пор продаётся и он программируемый!
P.S. Вот сравните:
Слева (у HP-11C) есть GSB (вызов подпрограммы), RTN (возврат из подпрограммы) и GTO (goto), а справа (у HP-12C) только GTO и условий ветвления только два осталось из восьми: x<=y и x=0
P.P.S. У HP-11C переход на подпрограмму шёл не по адресу, а по метке (команда LBL) и ещё была возможность установить/сбросить пару флагов (SF/CF) и затем делать условное ветвление по флагу командой F? (у HP-15C количество флагов увеличилось до 10), также была возможность делать косвенные переходы - в HP-12C ничего подобного нету...
|
21 Dec 2014 20:19 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|

Интересные особенности программирования 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 
|
21 Dec 2014 21:41 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
А вот кстати люди накопали, как HP-12C внутри представляет свои команды:
https://www.brouhaha.com/~eric/hpcalc/hp12c/12c_hex_table.html
Действительно всё в один байт влазит 
|
22 Dec 2014 00:53 |
|
 |
antsnark
Doomed
Joined: 27 Jan 2010 03:45 Posts: 434 Location: 83.149.9.42
|
 HP за сотню - ОК, наш МК за ту ж сотню (даже 88 по текущему курсу) - кашмар-кашмар!
|
22 Dec 2014 04:17 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
HP таки меньше сотни 
|
22 Dec 2014 06:40 |
|
 |
antsnark
Doomed
Joined: 27 Jan 2010 03:45 Posts: 434 Location: 83.149.9.42
|
Почти сотня это $99.99 ? 
|
22 Dec 2014 07:12 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Не - $69.99 стоит официально HP-12C, но мне надо было срочно и я покупал в соседнем магазине офисных принадлежностей, где он свою накрутку ещё добавляет - $79.99 плюс около 8% налог с продаж - получается $86 с хвостиком... P.S. О - википедия пишет, что HP в 2011 перерелизнули HP-15C (про него у Дьяконова тоже было) по цене $99.99 - $179.99
Но по тому, что их щас нигде нет (а на ебее они лежат по ценам за 300-400), я делаю вывод, что Edition был очень сильно Limited...
P.P.S. На самом деле HP-15C архитектурно был не столь гладок - там они ввели 2-х байтовые инструкции и всё испортили:
https://www.brouhaha.com/~eric/hpcalc/hp15c/tennant83.html
|
22 Dec 2014 09:33 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|

 |  |  |  | Shaos wrote: Интересные особенности программирования 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). |  |  |  |  |
Будучи неделю назад на винтажном фестивале случилось мне купить в книжной ретро-лавке за 4 бакса руководство пользователя HP-12C, где даже есть раздел про программирование  P.S. Между тем hp12c до сих пор продаётся в обычных магазинах около-офисных вещей (ссылка упомянутая чуть выше в 2014 году до сих пор рабочая) - правда ценник теперь $49.99: https://www.staples.com/HP-12c-Programmable-Financial-Calculator/product_150011
|
13 Aug 2022 21:37 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Для разнообразия взял и "платинум" до кучи: Он оснащён более быстрым процессором и у него появился режим алгоритмического ввода ALG (и также можно вернутся обратно в RPN), появилась возможность ввода скобок, новые функции n! и x^2. Как память расширяется я пока не понял т.к. по G MEM оно всё также показывает доступными 8 шагов программы и 20 регистров как и у оригинального HP-12C (там надо специальную команду делать, которая превращает ненужные регистры в шаги программы - один регистр даёт 7 шагов).
|
18 Aug 2022 10:55 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21581 Location: Silicon Valley
|
Вот тут есть интересные факты о "платинуме": http://www.hpcc.org/datafile/V22N3/platinum.pdfНапример там написано, что исходники оригинального HP12C были "утеряны" и при разработке платинума люди по сути переписывали всё с нуля - в итоге сильное отличие в точности (разница до 0.44%) и скорости (не смотря на более быстрый процессор один из алгоритмов стал сходится в 35 раз медленнее), ну и плюс в первых версиях была куча багов 
|
19 Aug 2022 10:57 |
|
|
|
Page 1 of 1
|
[ 13 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 2 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|