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.

ITree representation <strong>of</strong>- --lpound statementp xtcombined in the formz:y+x~implying that y is specified by x and is then compared with z todetermine a branch.The operand types and elementary operators employed aredefined in Table 1, together with examples. These examples permitTable 1 to be studied by itself before proceeding to the morecomplex expressions in the programs.In a compound expression such as( X X ~ + Z ) - ~ A - Tthe order <strong>of</strong> execution <strong>of</strong> the elementary operations is determinedby parentheses in the usual way and any remaining ambiguityis resolved by proceeding from right to left, no priorities beingaccorded to multiplication or any other operator. This conventionapplies, in particular, to Table 1 itself.The convenience <strong>of</strong> the right-to-left order <strong>of</strong> execution isindicated by the paucity <strong>of</strong> parentheses in the programs. As anexample, consider line 5 <strong>of</strong> the CPU program:a”/# + (24) T2 + IO''/^.Proceeding from right to left, the last 24 bits <strong>of</strong> the vector pare selected, the base-2 value <strong>of</strong> the resulting vector is taken andadded to 2, and finally the 24-bit representation <strong>of</strong> the sumrespecifies the last 24 bits <strong>of</strong> p.In complex logical expressions, the right-to-left conventionpermits convenient interpretation from left to right; for example,the expressionp V q V ~ A s A t = 3is interpreted as indicated by the tree shown in Figure 1.No elision <strong>of</strong> operator symbols is permitted; consequently, thenames <strong>of</strong> variables can, without ambiguity, consist <strong>of</strong> any number<strong>of</strong> alphabetic characters, including spaces. For brevity, singlecharacters are used for all variables except for those which occurinfrequently, such as the panel switches occurring in CP, thecontrol panel program. All variable names are in italics: lightfacelower case for scalars, boldface lower case for vectors, andboldface upper case for matrices. Literal alphabetic values (e.g.,“stop” and “operate” on lines 12 and 13 <strong>of</strong> the CP program) aredenoted by roman type.In order to reduce the number <strong>of</strong> variable symbols assignedto local counters and other intermediate variables, certain symbols(including i, j, k, i, j, and k) will be used only as local variables,i.e., the value <strong>of</strong> any such variable will be relevant only in theprogram in which it occurs and will not affect or be affected byany variable <strong>of</strong> the same name occurring in another program.A family <strong>of</strong> matrices will be denoted by a pre-superscript as, forI 202 A. D. FALKOFF, K. E. IVERSON, AND E. E. SUSSENGUTH

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

Saved successfully!

Ooh no, something went wrong!