10.07.2015 Views

A formal description of SYSTEM/360

A formal description of SYSTEM/360

A formal description of SYSTEM/360

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>of</strong> the EXC operation appropriate to the particular instructionbeing executed. For example, if the instruction is LR, then n3is specified by N,?', and n3 = do. This is also indicated in<strong>formal</strong>lyby the "LR" written to the left <strong>of</strong> line do.To continue the example, line do specifies the value <strong>of</strong> generalregister R"' by the value <strong>of</strong> Ras, and the exit arrow on the sameline indicates that EXC is complete.The execute instruction (EX) beginning on line bo, furnishes asomewhat more complex example <strong>of</strong> the execution phase. Exceptthat the length code p32,33 and the instruction counter arenot disturbed, lines bo-3 are like the instruction fetch (CPU 3-7)and therefore load the instruction register with the data beginningat byte address a2 in memory. Since n3 = bo in this case, line 21<strong>of</strong> CPU subsequently causes (unless a program interruption hasbeen entered in t, either on line b5 or by use <strong>of</strong> MAC on line bl)a branch to line 8, thus interpreting and executing the instructionjust fetched by the EX instruction, without disturbing the instructioncounter. If this subject instruction is itself an EX, it hasthe operation code 0100 0100, and line b5 therefore enters anexecute exception and line 21 does not cause a branch, thusaborting the execution <strong>of</strong> the subject EX instruction. The phrasel5 A l6 in line b5 prevents a spurious execute exception if addressingor specification exceptions have already occurred.If the first operand address <strong>of</strong> EX is nonzero, then line b4 willor the last byte <strong>of</strong> general register P with the last byte <strong>of</strong> thefirst half-word <strong>of</strong> the subject instruction. This permits a programmerto specify such parameters as length, index, or immediatedata in the subject instruction indirectly via R"'.If no program interruption has been generated by the precedingentry <strong>of</strong> program fetch and execution, each component <strong>of</strong> t will be zero, and linesinterruption 23 and 24 will be skipped. Otherwise line 24 presents the inter-(lines 22-24) ruption by setting h, to 1 and entering an appropriate code inpositions 16-31 <strong>of</strong> p. Thus, if the interruption is occasioned by aninterruptionservice(lines 25-33)addressing exception, ta = 1, the expression t/ 1" yields 5, andits base 2 representation (namely, 0000 0000 0000 0101) isentered in p. If multiple causes <strong>of</strong> program interruption occur,then one <strong>of</strong> the appropriate codes will be selected at random andstored in p. For example, if tg = te = 1, then t/ r" = (5, 6) and?'/(5, 6) selects one <strong>of</strong> 5 and 6.If the cause <strong>of</strong> the program interruption entry is neither t4nor t5 (that is, neither a protection nor an addressing exception),then the instruction length code p32,33 is unchanged by line 23;otherwise line 23 may set the length code to zero.Other types <strong>of</strong> interruptions are entered in other components<strong>of</strong> h by other programs (listed in the reference column <strong>of</strong> Table 3)whose details will be considered later.An interruption service places an appropriate code in bits16-31 <strong>of</strong> p, stores p in memory at one <strong>of</strong> five fixed locations deter-mined by the type <strong>of</strong> interruption (line 31), and finally respecifiesp (line 32) from one <strong>of</strong> five other fixed memory locations. Since206 A. D. FALKOFF, K. E. IVERSON, AND E. H. SUSSENGUTH

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!