The P101 Instructions

The Programma 101 is a programmable calculator, not a computer like we would meam it now, and therefore has instructions that are quite typical of programmable calculators, i.e. machine instructions are rather high-level instructions that operate on numbers (registers, in this case), not directly on bytes.

The instructions are divided in four classes (math, transfer, logical and service). This classification is a little bit strange for today's standards (the Get decimal part of A operation, for example, is classed in transfer functions) but this is the official standard in the Olivetti documentation and I will follow it.

The Programma 101 uses an own set of characters to specify operations. Some of these characters are not displayable in HTML, and have been replaced by small images here.

The P101 characters are:





 Square root


 Clear register


 Transfer from M

 Transfer to A

 Exchange with A

Attention must be paid to the fact that some characters are used with different meanings from what is today the computing standard (i.e. division is ":", not "/", and multiplication is "", not "*")

This page is part of the Programma 101 Web