Синтетическое программирование ( СП ) — это передовая технология программирования калькуляторов HP -41C и Elektronika B3-34 , включающая создание инструкций (или комбинаций инструкций и операндов), которые невозможно получить с помощью стандартных возможностей калькулятора. [1]
Некоторые инструкции HP-41C закодированы в памяти с использованием нескольких байтов . Некоторые из этих последовательностей байтов соответствуют инструкциям, которые калькулятор может выполнить, но их нельзя ввести в программную память с помощью обычных методов ввода программ ( т. е. с помощью калькулятора, как описано в руководстве пользователя).Синтетическое программирование использует ошибку в прошивке калькулятора, чтобы вводить эти последовательности байтов как последовательность других инструкций, а затем частично пропускать половину первой инструкции, так что калькулятор считает, что конец первой инструкции на самом деле является началом новой. Это называлось байтовой перемычкой или байтовым захватчиком .
Неясно, знали ли создатели HP-41 обо всех этих «черных дырах». HP официально не поддерживала эти технологии, но, вероятно, была заинтригована странными операциями и в некоторых случаях позволяла энтузиастам практиковаться в своих офисах и помогала совершенствовать его из чистого любопытства.
Синтетическое программирование также возможно на (оригинальном) HP-15C . [2] [3]