Hello.
Register arithmetic in the HP42S is only two-bytes longer for numbered registers (the same in the 15C). When dealing with variables (as shown by Mr. Luca), each letter in the variable name will consume one extra byte; the instruction itself - STO <op> - needs 1 byte, plus one extra for the addressed object - in the basic set: stack registers, numbered registers AND indirect for both - . If the addressed objet is referred to by a string - variableĀ“s name -, the string will consume as much memory as it would in a program step. One single experiment: try
STO <op> ST X
STO <op> "X"
ST X is the stack register; so, STO <op> ST X needs 2 bytes. Instead, STO <op> "X" uses three.
The fact is that the variable addressing in the 32S is already the basic set; it does not have numbered registers AND the existence of any variable depends on its creation. The 42S expanded the concept for variables later, extending the basic 41's set, over the penalty of consuming more memory.
And the shortest instruction in the half/fullnuts is still based in a one-byte count. New generation Saturn-based machine count one-(byte+nible) program space for most data.
Best regards.