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 .