complex-docs/docs/original/comandor-07.txt

228 lines
12 KiB
Plaintext

7. Commands of the handing over of the management.
═════════════════════════════════════════════════
The Commands of given groups process the field of microcommand m/c BY4,
which is a scheme of management 12-digits address of the microcommands
and executes 16 microcommands.
7.1. Selection of address of the transition.
7.2. Command Descriptions of the handing over of management.
7.3. Operands of the inputting of the condition.
7.1. Selection of the address of switch.
──────────────────────────────────────
Many commands BY4 execute the modification of the counter of the micro-
instructions, executing hereunder the transition on new microinstruction,
not residing directly behind executed in memories of the microinstructions.
The Other commands can execute the modification of the register of the
address. All address and data for loading enter on BY4 with Buses of the
Address of the Transition (BAT). On BAT data can enter with three buffers:
- the buffer V;
- the buffer M;
- the buffer P.
As can be seen from schemes situated below, each of these buffers is
commuted with different source of data:
- the buffer V sends on BAT the data from ROM vectors of transition m/c BH1;
- the buffer M commute BAT and Data Bus (look on directive LINK M);
- the buffer P sends on BAT data from ROM of microinstructions (field D);
7.1.1. Structured scheme of the choice of the address of the switch.
──────────────────────────────────────────────────────────────────
┌─────────┐
│ ROM EM │
└────┬────┘
┌┘
════════╪═════════════╤════════════════════════════════╤══ BUS_D (16)
└┐ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
┌─o Buffer V│┌─o Buffer M│ ┌─o Buffer K│
│ └────┬────┘│ └────┬────┘ OED└────┬────┘
VE │ ME │ │
═══════╧══════════╤═╧══════════════════╤═══ BAT(12) │
│ │ /16
┌─────────────────┴──────────┐ ┌────┴────┐ │
│ ED4 │ ┌─o Buffer P│ │
│ │ │ └────┬────┘ 12 │
PE └───────/─────┤
field D ROM│
7.2. Command Description of the handing over of the management.
──────────────────────────────────────────────────────────
If while inputting commands it is required to indicate the condition of its
execution,then it is put after mnemonics of the command as first operand;if is
it additionally required to indicate the direct address of the transition, or
(for command LDCT) to assign new value of the register of the address RA, then
numerical value (the mark) handles in command as a second operand:
1) JZ - a transition to zero address;
JZ; \ unconditional transition on zero address
2) CJS - a conditional transition to subprogram on specified address;
the address of the transition goes on BAT through buffer R;
CJS CT, START; \ if condition CT is executed,
\ then move to subprogram by adress
\ START, otherwise continue calculations
3) JMAP - an unconditional transition on specified address,residing on data
bus; the address of the transition goes on BAT through buffer M;
JMAP 100; \ move to address 100
4) CJP - a conditional transition on specified address;
the address of the transition goes on BAT through buffer R;
CJP not RDM, CP; \ wait while memory will not give
\ signal to readiness
5) PUSH - a boot in stack of the counter of the microinstructions, and
plus hereto on performing the specified condition of execution
LDCT; value of the downloaded counter of the microinstructions
enters on BAT through buffer M;
PUSH not CT, 10; \ save in stack address of the following
\command and load in RA 10,
\ if condition CT is not executed;
Form without operands writing the command PUSH is can be; then,
the condition became false and, consequently, the boot in RA does
not occur.
6) JSRP - a transition to one of two subprograms by adress, taken from
register of the address (if condition is not executed), or on
specified address;
the address of the transition enters on BAT through buffer P;
JSRP IRQ0,53O;\ if condition is executed, then
\ move to executing of the command by adress
\ 43 (53o = 43), else
7) CJV - conditional transition by adress from external sourse;
the adress of transition gets on BAT from buffer V;
CJV CT;\ if condition is executed, then
\ the adress of next command is read
\ from buffer V
8) JRP - similar as command JSRP, but without boot in stack the address
of the returning; the address of the transition enters on BAT
through buffer P;
9) RFCT - a recurrence of the cycle until the register of address is zero
(the comparison RA with zero, and if no, then make a transition
by adress, keeping on the top of the stack with simultaneous
decremention of RA);
PUSH NZ,10; \memorize on the top of the stack the address
\of begining of hte cycle with simultaneous boot
\in RA number of passage (RA executes the role
\of counter of the cycle)
....
RFCT; \ decrements RA, and until zero
\ move to the begining of the cycle
10) RPCT - a recurrence of the cycle until the register of the address is a
zero (the comparison RA with zero, and if no, then transition by
adress, keeping in memories of the microinstructions with
simultaneous decrementing of RA);
the address of the transition enters on BAT through buffer P;
RPCT loop; \ compare RA with zero and if RA <> 0,
\ then move to the "loop"
11) CRTN - a conditional returning of the subprogram;
CRTN not NXORV; \ checking the sign of the overflow in
\ system with extended net of the sign
\ and if there is no overflows -
\ - return from subprogram
12) CJPP - a conditional transition on specified address and simultaneous
decrementing of pointer of the stack;
the address of the transition enters on BAT through buffer P;
PUSH NZ,10;
.....
CJPP RM_C,NEXT; \ check C mark of register of the marks
\ RM and if 1 then come out from cycle
RFCT;
13) LDCT - recording in register of the address RA;
new value RA enters on BAT through buffer P;
LDCT val; \ \ load in RA the value of val
14) LOOP - a conditional breaking of the cycle (if condition in command
is not executed, then address of the following microinstruction
is chosen from top of the stack, else the following command
executes`s);
PUSH; \ \ save the address of the begining of the cycle
......
LOOP not CT; \if in the enterence CT - 0, then return to
\ the begining of the cycle
15) CONT - transition to performing of the following command (is
executed by default);
16) TWB - conditional branching by three directions (RA is compared with
zero: if not, then RA decrement`s and then the LOOP executs,
else the same LOOP, but with sample of the address not from
stack, but from memory of the microinstructions through buffer P).
PUSH NZ,10;
.......
TWB NZ,NEXT; \while RA<>0 return on the begining of the
\ cycle; if RA=0 move on NEXT
7.3. Operands of inputting the conditions.
─────────────────────────────────────────
The operands of the inputting of the condition are used in such commands
as CJS, CJP, PUSH, JSRP, CJV, JRP, CRTN, CJPP, LOOP and TWB. The Signal of
the condition is given on entry of LU block of microprogramming management
through eight-entered multiplexor MS, two entries of which are beforehand
predestined as Z and NZ (0 and 1), but the rest of six entries can be commuted
by different signals (refer to inputting of switchings of the conditions with
help of directives LINK). While inputting of the operand of the condition it
is possible to use following predestined mnemonics:
1)Z, NZ - condition is defined as undoubtedly false (true);;
2)ZO, CO, NO, VO - signs of the zero, carrying, sign and overflows defined
by result of the execution of operation in ALU;
3)RM_Z,RM_C,RM_N,RM_V - the flags Z, C, N and V keeping in register of the
marks RM;
4)RN_Z,RN_C,RN_N,RN_V - similarly for RN;
5)NXORV - sign of the overflow for system with two digits of signs;
6)ZORC - condition is became true when there is a flag of zero or
overflows in ALB after operation
(ZORC = Z or C).
7)L1,L2,L3,L4,L5,L6 - a direct inputting of the number of the entering
of the multiplexor of the conditions, from which the condition signal will
be scanned, and the installation of the signal will not be realized.
Writing the operator "not" is applicable preliminary to all sign that
influences upon field COM of microprogramming block of management BY4.
All signals it is necessary to lock beforehand with one of the enterences
(L1..L6) of the multiplexor by directive LINK .