Elektronika B3-34
Manufacturer: | Калькулятор (Kalkulátor) (USSR) |
Mfg. date: | 1980-85 |
Size: | 10×18,5×4 cm |
Weight (ready for operate): | n.a. |
Type: | programmable scientific |
Capacity: | 8+2 digits (input/display) 8+2 digits (internal precision) |
Operating logic: | RPN |
CPU: | Rodon K145IK1302 + K145IK1303 |
Registers: | 4 standard 14 memory (without arithmetic) |
Features: | +/-change sign (direct entry of negative numbers) RVexchange registers (X-Y) Ffloating-point notation Sciscientific (exponential) notation Sqrsquare root x2square pivalue of pi (3.1415..) can be recalled 1/xreciprocal trigtrigonometrical functions (sin, cos, tan and inverses: arcsin, arccos, arctan) logexponential and logarithmical functions (10- and e-base) yxraising to power |
Display: | 12 digit VFD |
Power: | built-in battery pack (4 pcs) |
Programming method: | merged keystroke-programmable |
Program capacity: | 95 steps |
Test results: | trigonometry:result of sin-1(cos-1(tan-1(tan(cos(sin(60°)))))), reference value: 60. 60.011803 exponential:result of 0.999160000, reference value (first 14 digits): 3.0068804206375×10-70 |
Using
The Elektronika B3-34 works with numbers of 8+2 digits. The functions labeled in brown above the keys can be executed with the F prefix key. During keying in numbers in exponential notation, the exponent can be entered after pressing БП.The stack
The machine operates with reverse polish notation (RPN) system, so all operations must be written (keyed) after the operands. The stack has four levels with registers X, Y, Z and T. The input and moving registers up (X to Y, previous value of Y to Z, previous value of Z to T) can be achieved by pressing ENTER, here appeared as ↑. This shifting is executed automatically when a number was recalled from memory. After carried out two-operand functions, the result obtained in the X register, and the remaining stack registers shifts down, but the T register keeps its value.To exchange the X and Y register contents, press x↔y. The F ROLL (circle-shaped arrow, secondary function of , key) rolls or shifts the stack as follows: X moved to T, Y moved to X, Z to Y, T to Z. Example: 1 ↑ 2 ↑ 3 ↑ 4 x↔y F ROLL results to the following contents: 4 in X, 2 in Y, 1 in Z and 3 in T registers.
Memory registers
In addition to stack registers described above, the B3-34 has 14 addressable memory registers. The first ten (0..9) can be addressed by the appropriate number key, the last four can be used with the ,, /-/, ВП and Сx keys. After pressing П and the address key, the contents of X register stores in the given memory register. Similar to that, the ИП key can be used to recall a value stored previously in a given memory register.Last X register
After executing any operation, the previous contents of the X register was always kept in the X1 register, and can be recalled with F Вx keying.Carrying out functions
The angular units used by trigonometric functions can be set with the switch on the right side: its left position (Р) means units in radians, right position (Г) means degrees.Raising to powers is different to usual method: first, the power must be stored in the stack, then the base. E.g. to compute 23, press 3 ↑ 2 xy.
Overflow error is displayed with ERROR, which can be cleared with Сx.
Programming
To switch to program write mode, press F ПРГ. The two-digit numer on the right is the program counter (PC). The program area can stores up to 95 steps, addressed with numbers 00 to 94. The code numbers at the left side means the stored keycodes in the steps PC-1, PC-2 and PC-3. So reading the program is carried from right to left. The key combinations with F key occupies only one step. The program editing keys are the following:- ШГ→ – moves forward one step.
- ШГ← – moves backward one step.
- F НОП – stores a NOP (No Operation) command at the current address.
At the end of a program, a С/П command must be placed.
Keycode | Key |
0 | F Вx |
00..09 | 0..9 |
0- | . |
0L | /-/ |
0C | БП |
0R | Сx |
0E | ↑ |
10 | + |
11 | - |
12 | × |
13 | ÷ |
14 | x↔y |
15 | F 10x |
16 | F ex |
17 | F lg |
18 | F ln |
19 | F arcsin |
1- | F arccos |
1L | F arctg |
1C | F sin |
1R | F cos |
1E | F tg |
20 | F π |
21 | F √ |
22 | F x2 |
23 | F 1/x |
24 | F xy |
25 | F ROLL |
40..4E | П azonosító |
50 | С/П |
51 | БП |
52 | В/О |
53 | ПП |
54 | K НОП |
57 | F x≠0 |
58 | F L2 |
59 | F x≥0 |
5- | F L3 |
5C | F x<0 |
5L | F L1 |
5R | F L0 |
5E | F x=0 |
60..6E | ИП identifier |
70..7E | K x≠0 identifier |
80..8E | K БП identifier |
90..9E | K x≥0 identifier |
L0..LE | K П identifier |
R0..RE | K ИП identifier |
C0..CE | K x<0 identifier |
E0..EE | K x=0 identifier |
-0..-E | K ПП identifier |
Jumping commands can be placed with БП, but this key can be used in АВТ mode, if the program start address is different from 00. Defining jumping address can be achieved with keying in the two digit step number after БП. E.g. to jump to address 12, press БП 1 2. This command occupies two steps, as can be seen on the display: 12 58.
Conditional jumps can be programmed with the four condition functions, which tests relations with X and 0. E.g. F X<0 gives true result for negative X values. It is interesting, that these conditional jumps operates reversed in comparing to other calculators: if the condition is met, program continues on the step after the jumping command, but the condition is not met (false), a jump was made to the specified address.
In addition to these, the machine allows special commands for programming loops. The F L0 .. F L3 uses the corresponging memory registers (0..3), decrements the contents of that register by 1 and tests it for equals with 0. If this is false (not equals to 0), a jump was made to the specified address, but if this is true (0), the program continues with the next command.
Subroutines can also be programmed, the same way as described at the БП command. The subroutine must be closed with a В/О command, which instruct the calculator to return the address next to the subroutine-jump command. 5 levels of subroutines can be nested.
Indirect addressing
This calculator allows indirect addressing of memory registers and jumping commands. All of the 14 memory registers can be used to store the address for an indirect command, but the first seven (0..6) has special features. The indirect addressing can be used with the K prefix key. All indirect commands occupies only one program step.K П causes to store contents of register X to memory register specified by the given memory register.
K ИП causes to recall contents of memory register addressed by the given memory register.
K БП jumps to address stored in the given memory register. Using K ПП to jumping to a subroutine, or K and a condition expression key can be used the similar way.
It is important, the fractional part of the contents of the given memory register will be lost, and the integer part defines the indirect address. The register will be filled with leading zeroes to the full 8-digit capacity. E.g. if 5.14 was stored in the memory register 8, K ИП 8 causes contents of the memory register 8 changes to 00000005, then the display will show the contents of the memory register 5.
The first four (0..3) memory register contents decremented by 1, the registers 4, 5 6 incremented by 1 when these was used for indirect addressing. The decremented, or incremented value will be used for indirect addressing. E.g. if 25 was stored in memory register 1, K БП 1 resulted memory 1 was decremented by 1 (it stores 00000024), the program execution was jumped to address 24.
Running the program
To exit from learn mode, press F АВТ.To start the program from the current program counter, press С/П. To jump to a specified address (and then start the program from that address), the БП key can be used the same way as within programs. To jump to address 00, simply press В/О.