228 lines
12 KiB
Plaintext
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 .
|