Page 4
This manual discusses the operation and capabilities of Programma 101 in all of its modes. It is divided into a description of the computer, an explanation of its program language, and a brief presentation of the procedures and techniques for its programming and use.
Computer Components Programma 101 is composed of the following elements: Memory: To store numeric data and program instructions. Electric Keyboard: For numeric entry. manual operation, and compiling program instructions. Printing Unit: Serial printing. from right to left. at 30 characters per second; this unit prints all keyboard entries.
Memory The memory is composed of ten registers. Eight are storage registers and two are used exclusively for instructions. The two instruction registers can store a total of 48 instructions. The eight storage registers, M, A, R, B, C, D, E and F, have a capacity of 22 digits, plus decimal point and sign.
Page 8
The following formats show the separation and capacities of the ten registers. Format 1 - This represents the storage registers used as complete registers: M, A, R: always complete; B, C, D, E, F: complete in this case. Format 2 - This represents the storage registers when split: b, B; c, C; d, D; e, E; and f, F.
Keyboard 1 The ON-OFF KEY is a dual purpose switch for both the ON and OFF positions. (Note: the OFF position automatically clears all stored data and instructions.) 2 The ERROR (reel) LIGHT lights when the computer is turned on, and whenever the computer detects an operational error;...
Page 13
14 The ROUTINE SELECTION KEYS V, W, Y and Z direct computer proper program subroutine. 15 The NUMERIC KEYBOARD uses the ten-key entry system with provision for entry of a decimal point and a negative sign. Keyboard entries are automatically stored in the M register.
Page 14
20 The PRINT KEY prints the contents of an addressed register. 21 The CLEAR KEY clears the contents of an addressed register. When the computer is operated manually, a depression of this key will print the number in that register and clear it. 22 The TRANSFER KEYS perform transfer operations between the storage registers and the operating registers.
Decimal Wheel As it affects COMPUTATION: The Decimal Wheel determines the number of decimal places to which the result of a calculation in the A register will be carried out. The Decimal Wheel has the following effect on these operations. ADDITION, SUBTRACTION, After the computation, the result in the A MULTIPLICATION:...
Split Register As was pointed out in the preceding pages, each of the B, C, 0, E and F registers can be split into two parts, each with a capacity of 11 digits plus decimal point and sign. The left part of the register is identified with the lower case letter corresponding to its companion's designation.
General Operations Start-S The instruction "S" (used in creating a program) directs the computer to stop and release the keyboard for the entry of figures or the selection of a subroutine. After figure entry, the program is restarted by touching the Start key (5). The program can also be restarted by touching a Routine Selection key.
Data Transfer Operations To A An instruction containing the operation “ " directs the computer to transfer the contents of the addressed register to A while retaining them in the original register. The contents of M and R are not affected. The previous contents of A are destroyed. The setting of the Decimal Wheel has no effect on this operation.
From M An Insrruction containing the operation " “ directs the computer to transfer the contents of M to the addressed register while retaining them in M. The contents of registers A and R are unaffected by this instruction. The original contents of the addressed register are destroyed. The setting of the Decimal Wheel has no effect on this operation.
Exchange An instruction containing the operation " " directs the computer to exchange the contents of the A register with the contents of the addressed register. The contents of M are not affected except by the exchange between A and M. The contents of the R register are not affected. The setting of the Decimal Wheel has no effect on this operation.
D-R Exchange The instruction "RS" directs the computer to exchange the contents of D (both D and d registers) with the contents of the R register. The setting of the Decimal Wheel has no effect on this operation. This instruction has a special use in the following cases exclusively: •...
Decimal Part To M The instruction "/ " directs the computer to transfer the decimal portion of the contents of A to the M register while retaining the entire contents in A. The original contents of the M register are destroyed. The R register is not affected by this instruction. The setting of the Decimal Wheel has no effect on this operation.
2. The operation Is carried out in the M, A and R registers Programma 101 can perform these arithmetic operations: +, -, X, +, V. and absolute value. Figures are accepted and computed algebraically. A negative value is entered by depressing the negative key at any time during the entry of a figure.
Addition An instruction containing the operation " " directs the computer to add the contents of the selected register (addend) to the contents of the Aregister (augend) and is executed in two phases: 1ST PHASE Transfer the contents of the selected register (addend) to M, while retaining them in the original register.
Subtraction An instruction containing the operation " " directs the computer to subtract the contents of the selected register (subtrahend) from the contents of the A register (minuend) and is executed in two phaaes: 1ST PHASE Transfer the contents of the selected register (subtrahend) to II, while ratalnlng them In the original register.
Multiplication An instruction containing the operation " " directs the computer to multiply the contents of the selected register (multiplicand) by the contents of the A register (multiplier) and is executed in two phases: 1ST PHASE Transfer the contents of the addressed register to M, while retaining them in the original register.
÷ ÷ ÷ ÷ Division ÷ ÷ ÷ ÷ An instruction containing the operation " " directs the computer to divide the contents of A register (dividend) by the contents of the selected register (divisor) and is executed in two phases: 1ST PHASE Transfer the contents of the addressed register to M, while retaining them...
√ √ √ √ Square Root √ √ √ √ An instruction containing the operation" "directs the computer to: 1ST PHASE Transfer the contents of the selected register to M, while retaining them in the original register. 2ND PHASE Extract the square root of the contents of M, as an absolute value, obtaining in A the result truncated according to the setting of the Decimal Wheel.
Absolute Value The absolute value instruction "A " changes the contents of the A register, if negative, to positive. EXAMPLE: Decimal Wheel set at 2. ______________________________________ BEFORE AFTER - 29 -...
Jump Operations The Jump operation directs the computer to depart from the normal sequence of step-by-step instructions and jump to a pre-selected point in the program. These instructions provide both internal and external (manual) decision capability and are useful to: •...
Conditional Jumps / ∆ / ∆ / ∆ / ∆ a∆ ∆ ∆ ∆ these jumps choose one of two alternatives by testing the contents of the A register for the fol/owing condition: c∆ ∆ ∆ ∆ b∆ ∆ ∆ ∆ If the contents of the A register are: GREATER THAN 0 - the program jumps to the corresponding Reference Point.
Page 33
The Conditional Jump can not directly differentiate between a negative value and zero. If the A register has a negative value, the distinction may be made by a two-test procedure: 1. The value of A is tested. If the jump occurs, this value is positive; if the jump does not occur, the A (absolute value) instruction is executed.
Constants Constants in Registers Programma 101 can store numeric values (e.g. constants) to be used within the program on the magnetic card. Numeric values entered into the registers 0, E and F, or their splits, can be directly stored together with the program on the magnetic card when the RECORD PROGRAM switch is ON (in).
Constants as Instructions It is sometimes necessary to conserve registers for several accumulations and, therefore, advisable to avoid storing constants in these registers. There is a method for generating values within a program by converting the required number into computer instructions, one for each digit.
Computer Utilization To Record a Program Once the sequence of steps to solve a problem has been developed on coding sheets, the operator enters the program into the computer by depressing the keys corresponding to the instruction sequence. 1. Turn computer ON 2.
Read/Record D and E Constants and instructions: 1) can be entered from the keyboard directly into registers E and D; 2) can be recorded from only registers E and D onto a card; or; 3) read from a card only into registers E and D, without affecting the contents of other program registers.
Automatic Internal Checks Programma 101 provides a system of automatic internal checks to assure the operator that all components are functioning properly. The red ERROR light is the visual indication that a mis- operation has been detected.
Manual Mode Programma 101 can be operated manually as an electronic calculator. The rules given in the preceding pages for computer instructions apply also to manual operations with the following exceptions: 1. The results of multiplication, division and square root will be printed automatically.
Computer Exercise The following exercise shows you Assuume a = 9 and b = 3; how to: The following operatIonl solve the problem manually: • use the Programma manually • write a program Turn the computer ON. Programma prints Depress the GENERAL RESET key. The problem used is: Turn the RECORD PROGRAM switch OFF (out).
Page 41
The following instructions solve the same problem in program mode: Starting Point of Program. Clear register for accumulation of answers. Stop program for entry of factor a. Transfer factor a to B /. Stop program for entry of factor b. Transfer factorb to B.
Changing The Ribbon 1. Remove print unit cover and pull paper tape holder forward. 2. Move the ribbon reverse levers away from the spools (see diaagram) 3. Remove spools and ribbon and discard. 4. Replace the spools and thread the ribbon as indicated in the diagram.
Insertion of Paper Roll 1. Remove the paper roll bar (a) and discard the old spool. 2. Place the new roll between the two holders, so the tape feeds from underneath, and insert paper roll bar. 3. Turn Programma on. 4.
Programming Techniques Following are some frequently encountered mathematical statements and suggested Programma solutions, assuming the value a is in the A register: ÷ ÷ ÷ ÷ (a + 1) Divide a by itself creating 1 in the A register. Add a to 1 giving ( a + 1) ÷...
Rounding Techniques Following are routines for rounding to the setting of the Decimal Wheel in addition, subtraction and multiplication. Assume one value is stored in the B register and the second value in the e register: ___________________________________________________________________________ ADDITION SUBTRACTION MULTIPLICATION ___________________________ Transfer first value to A register.
Page 46
METHOD 2: Assume the divisor is in register B and the dividend is in register A. Double dividend. ÷ Divide doubled dividend by the divisor. Special series to generate 2 in the M register. ÷ Divide doubled quotient by 2. Round off.
Instruction - Data Storage Storage of data and instructions in the same half of a register. A technique has been developed which allows the storage of both a number and program instructions in the same half of a register (F, f, E, e, D, d). This technique permits the programmer to address a register having both a number and instructions in it, and perform any transfer, arithmetic, print or clear operation with the number - without disturbing the instructions in that register and without getting an error light.
Page 48
3. The instruction immediately following the space allotted for the number must be either a stop (an S) (see Fig. 3) or an A reference point (AV, AW, AY, AZ, aV, aW, aY, or aZ) (see Fig. 4. Unless it is a 'signal stop,' there is no restriction on the instruction immediately preceding the space allotted for the number.
Page 49
Generation of Constants Following is a routine to generate a constant to the setting of the Decimal Wheel, e.g., with the Decimal Wheel at 4 generate constant 0.0003: Following is a routine to generate a constant to one position more than the setting of the Decimal Wheel, e.g., with the Decimal Wheel at 4 generate constant 0.00005: - 49 -...
Counters When programming a loop that is to be cycled a specified number of times, the most direct way of accomplishing this is to use one register as a counter, which initially has an index stored in it. This index is reduced by 1 each time the loop is cycled. When the count reaches 0 we may exit the loop.
Packing a Register This routine illustrates the concept of "packing" a register. Frequently, it becomes necessary to store a group of constants in just one register. The following routine exemplifies how each of the constants might be stored in one register and isolated for manipulation. Let us assume that we wish to store the constants .453, .281, .397, and .024 all in one register.
The Domino Technique This program illustrates a procedure referred to as "the domino technique." This technique is particularly useful in applications such as a moving average in which the entry of each subsequent value displaces the contents of every register in the sequence like a row of dominoes.
D and d prior to any arithmetic operation or ……. reference to the R register. On the following pages is a typical program from the Olivetti Underwood program library which illustrates many of the techniques described previously. - 53 -...
This program will perform an unweighted least square's fit to a parabolic function: y = ax given as input a set of X pairs. The program consists of three sides of a card and will yield the fol lowing information: - SIDE A - INPUT: OUTPUT:...
Page 55
- SIDE C - (INTERCEPTS FOR PLOTTING THE FUNCTION ON LOG - LOG PAPER) INPUT: OUTPUT: Log a (from any curve desired) (Intercept with X = 1) -1/b (Intercept with Y = 1) if k = 10 then (E) = Log 10 = 2.3025 850930 k = e then (E) = 1 Unless altered, the program computes all logarithms to the base 10.
Page 56
PROGRAM INSTUCTIONS SIDE NO. A REG. 1 REG. 2 REG. F REG. E REG. D CONTENTS OF REGISTERS Operand D / + Operand A √ A √ Operand A √ A √ C / + A √ A √ A √ A / V A √...
Page 57
PROGRAM INSTUCTIONS SIDE NO. B REG. 1 REG. 2 REG. F REG. E REG. D CONTENTS OF REGISTERS D /x E /x A √ E/ - B/ + ÷ B/ x ÷ D/ x ÷ A √ C / + REG.
Page 58
PROGRAM INSTUCTIONS SIDE NO. C REG. 1 REG. 2 REG. F REG. E REG. D CONTENTS OF REGISTERS B / * ÷ A / Y A / V ÷ REG. 1 REG. 2 REG. f REG. e REG. d Lower case letters are entered with the corresponding upper case letters and /; e.g., b = B/. CONSTANTS ON CARD KEYS TO CONSTANTS ON CARD...
Page 59
OPERATING PROCEDURE OPERATIONS DIGIT CAPACITY DECIMAL WHEEL SETTING 7 - 10 WHOLE NOS DECIMALS Depress General Reset Key Turn Record Program OFF Turn Print Program OFF Insert Side A of Program Card Depress V Enter Xi and Depress Start Enter Yi and Depress Start Return to Step 6 unti data is exhausted.
Page 60
OPERATING PROCEDURE OPERATIONS DIGIT CAPACITY DECIMAL WHEEL SETTING 7 - 10 WHOLE NOS DECIMALS Depress RS Computer prints: Log a Return to Step 1 for a new set of points. If it is desired to plot the fitted curve on Log-Log paper go to Step 16 Depress General Reset Key Insert Side C of Program Card...
Page 61
11, 38 wheel, 11, 15 Packing a Register, 51 testing for, 33 Decimal Part to M, 22, 47, 51 Paper Roll, 43 Division, 27 Print Key, 14, 17 olivetti canada Limited 447-3351 1390 Don Mills Road, Don Mills, Ontario...
Page 62
Title No. of No. of Date Code cards instructions REG. 1 REG. 2 REG. F REG. E REG. D CONTENTS OF REGISTERS REG. 1 REG. 2 REG. f REG. e REG. d Lower case letters are entered with the corresponding upper case letters and /; e.g., b = B/. CONSTANTS ON CARD KEYS TO CONSTANTS ON CARD...
Need help?
Do you have a question about the Programma 101 and is the answer not in the manual?
Questions and answers