ISOPAR(ID:7578/)


Improved version of SOAP II


References:
  • Howe, H. Herbert "ISOPAR, a new and improved symbolic optimizing assembly routine for the IBM 650" NBS Tech. Note 76 (PB161577), O.T.S., U. S. Dept. Commerce, Washington, D. C. July 1960 view details
  • Cuttle, A. review of Howe 1961 view details Abstract: The title of this paper suggests something rather more original than it actually is since in fact ISOPAR is an improved version of SOAP II, and as such it is felt that interest in the paper will be largely confined to IBM 650 users. The major improvement is made in the optimising techniques: SOAP II supplies addresses as required in strict sequence so that it has to make an arbitrary assignment after a function whose time is variable, whereas ISOPAR has the ability to look ahead in such cases until an already fixed address is found and optimize back from that point. This looking ahead can extend to up to 15 cards and, since SOAP II used all but 36 of the available locations, it was necessary to rewrite the compiler to create space for the new optimising routine. During this rewriting a number of changes had to be made in other features of SOAP II, some of which it was possible to turn into improvements. For example, copying material from input to output has to be done as a separate reproducer run after compilation, but this allows 38 columns to be used for remarks instead of the 10 columns of SOAP II, and there are less restrictions on the character set available. Similarly, the more compact form of symbol table used in ISOPAR requires the programmer to announce at intervals when it is possible to dispose of part of the table, but in so doing allows a programmer to use a large number of local variables. There are other changes, however, which can only be regarded as disadvantages, such as the abandonment of mnemonic function names (a bitter blow to those of us with small memories) and the slower straight search procedure used in the symbol table. On balance, ISOPAR could probably offer advantages to some 650 users, but it is doubtful if those accustomed to working with SOAP II would feel these justified the change at this date.

    Although, as stated, this paper has little to offer the general reader since it is concerned solely with the IBM 650 and SOAP II, it must be mentioned that the exposition of the subject is excellent. The advantages and disadvantages of ISOPAR, both in isolation and relative to SOAP II, are clearly stated; the explanations of how the assembler works and the presentation of the program listing are first rate examples of program documentation; and there is even a section on further improvements to the assembly routine which other users with time to spare might care to implement. Any IBM 650 user who wishes to use or assess ISOPAR will find all the information he needs clearly stated in this paper
          in ACM Computing Reviews 3(01) January-February 1962 view details