Elektronika MK-61 Calculator Operating Instructions
23
Draft version 1.0 – Oct.2014
Please send corrections to Jose Mesquita ([email protected])
Indirect addressing revisited
7.26. When executing commands for indirect unconditional jump
GTO (i)
followed by the address register), modification occurs in the contents of the address
register after the execution of the command, pointing to a new address.
If the command uses the address registers:
14
RG0-RG3 - their content is decremented by 1;
RG4-RG5 - their content is increased by 1;
RG7-RG9 and RGa-RGe – Their content does not change.
7.27. When using the indirect store
STO(i)
(
K, Х→П
), modification also
occurs on the contents of addressable register, and writes the contents of register X
into the address that is pointed to by the modified code
.
Registers RG0-RG9, RGa-RGe correspond to modified codes
15
from 0000000 to
0000014.
7.28. When using the indirect load command
RCL(i)
(
K
,
П→Х
)
,
modification occurs on the contents of addressable register, and loads register X with
the contents of the address that is pointed to by the modified code.
Loop control
7.29. Computing cycles can be implemented by using the commands
DSNZ0
to
DSNZ03
,
as referenced in the register RG0 to RG3, respectively.
For each loop, the content of the address register is subtracted by 1 and test if its content
is equals to 0.
If address register equals 0 then execution continues after the next instruction, otherwise
execution jumps to the specified address.
14
As far as we can tell, the behavior for branching instructions is:
-
Indirect addresses for RG0-3, the value is decremented
after
evaluating the branch address;
-
Indirect addresses for RG4-6, the value is incremented
before
evaluating the branch address;
-
Indirect addresses for RG7-e, the value is maintained but the branch address is incremented by 1.
-
Conditional and unconditional direct branch, the address value is incremented by one.
15
See Chapter 5.3 – Additional register indirect commands