Synthetic programming (HP-41): Difference between revisions

Content deleted Content added
added common abbreviation
Line 1:
{{use dmy dates|date=September 2023|cs1-dates=y}}
{{use list-defined references|date=September 2023}}
'''Synthetic programming''' ('''SP''') is an advanced technique for [[Mathematical programming|programming]] the [[HP-41C]] and [[Elektronika B3-34]] [[Programmable calculator|calculators]], involving creating [[Instruction (computer science)|instructions]] (or combinations of instructions and operands) that cannot be obtained using the standard capabilities of the calculator.<ref name="IEEE"/>
 
Some HP-41C instructions are coded in memory using [[variable-length instruction set|multiple byte]]s. Some of these sequence of bytes correspond to instructions the calculator is able to execute, but these cannot be entered in the program memory using conventional program entry methods (''i.e.'' using the calculator as described in the user's manual). {{anchor|Byte grabber}}Synthetic programming uses a [[software bug|bug]] in the calculator firmware to enter those byte sequences as a sequence of other instructions, then partially skipping halfway through the first instruction, so that the calculator believes the end of the first instruction is actually the beginning of a new one. This was called ''byte jumper'' or ''byte grabber''.