Синтетическое программирование (HP-41)
Синтетическое программирование ( СП ) — усовершенствованная методика программирования HP -41C и «Электроника Б3-34» калькуляторов , предполагающая создание инструкций (или комбинаций инструкций и операндов), которые невозможно получить, используя стандартные возможности калькулятора. [1]
Некоторые инструкции HP-41C закодированы в памяти с использованием нескольких байтов . Некоторые из этих последовательностей байтов соответствуют инструкциям, которые калькулятор может выполнить, но они не могут быть введены в память программы обычными методами ввода программы ( т. е. с использованием калькулятора, как описано в руководстве пользователя). Синтетическое программирование использует ошибку в прошивке калькулятора для ввода этих последовательностей байтов как последовательности других инструкций, а затем частично пропускает половину первой инструкции, так что калькулятор считает, что конец первой инструкции на самом деле является началом новой. Это называлось перемычкой байтов или захватом байтов .
Неясно, знали ли создатели HP-41 обо всех этих «черных дырах». HP официально не поддерживала эти методы, но, вероятно, была заинтригована странными операциями и в некоторых случаях позволяла энтузиастам практиковаться в своих офисах и помогала улучшать их из всего чувства любопытства.
НР-15С
[ редактировать ]Синтетическое программирование также возможно на (оригинальном) HP-15C . [2] [3]
См. также
[ редактировать ]- Серия Casio FX-602P
- Недопустимый код операции
- Логический синтез
- НОМАС (поддержка)
- Перекрывающиеся инструкции
- Самомодифицирующийся код
- Побочный эффект (информатика)
- Набор команд переменной длины
- Еггогология (кириллица: «Еггогология»)
Ссылки
[ редактировать ]- ^ Ристанович, Деян; Проти, Джелика (2012). «Однажды в кармане: программируемые калькуляторы конца 1970-х - начала 1980-х годов и социальные сети вокруг них». IEEE Анналы истории вычислений . 34 (3): 55–66. дои : 10.1109/MAHC.2011.63 . S2CID 15888694 .
- ^ Смит, Эрик Л. «Брухаха» (30 января 2023 г.) [2004]. «ХП-15С Синтетика» . Архивировано из оригинала 25 сентября 2023 г. Проверено 25 сентября 2023 г.
- ^ «HP 15C Synthetics и синтетическое программирование» . Проверено 10 августа 2022 г.
Дальнейшее чтение
[ редактировать ]- Уикс, Уильям К. (1980). Синтетическое программирование на HP-41C . ISBN 0-96252580-4 .
- Джаретт, Кейт (1982). HP-41 Синтетическое программирование стало проще . США: Синтетикс.
- Доден, Жан-Даниэль (1985). Внутри HP-41C . ISBN 0-9612174-4-8 .
- Миер-Енджейович, Влодзимеж «Влодек» Энтони Кристофер (1985). Расширьте свой HP-41 . ISBN 0-9510733-0-3 .
- МакКорнак, Алан; Джаретт, Кейт (1987). Советы по расширенному программированию HP-41 . ISBN 0-9612174-6-4 .
- Смит, Эрик (26 сентября 2004 г.). «Моделирование калькулятора на уровне микрокода» (PDF) . Конференция Hewlett-Packard по портативным устройствам в Сан-Хосе, Калифорния, США.
- http://www.jeffcalc.hp41.eu/divers/files/ppcjt-v1n3.pdf