• Keine Ergebnisse gefunden

MODAL MACROS:

Im Dokument SHARE System for the IBM 709 (Seite 125-133)

FAD XCA

CHAPTER 3: MODAL MACROS:

SHARE System: USE, FORMAT, POINT, NUCASE, and BUFFER

IB System: USE, FORMAT, POINT, NUCASE, BUFFER, ON, and OFF The modal macros reset parameters used by the Dubugging System either during execution of the object program or during translation of debugging data. During the execution phase, BUFFER allocates storage to the TAPE macro and NUCASE nullifies prior modal macros and resets the counts of conditional macros. The other modal macros, USE, FORMAT, and POINT, have no effect during the running of the object program, but rather are used by the debugging translator in expanding data recovered by the information macros. These macros modify certain aspects of that data which cannot be controlled by a format indication in the dictionary, for instance, choice of symbols for locations common to several sections of a program; refinement of format control to apply to groups of bits rather than whole words; and rescaling of the fraction in interpretation of fixed point number s.

Only NUCASE does not require or use information in the variable field.

06.03.01 3 (1/61)

USE At B, C, ...

This macro designates those symbols in the dictionary which are to be associated with locations common to two or more segments of a program. The macro influences information in all subsequent printing until another USE supercedes it.

The variable field should contain at least one symbol which is unique to the common segment currently being dealt with by the debugging macros. Usually, a common segment should have location symbols at the first and last locations, and if these two symbols are given in a USE macro, there will be no ambiguity of symbols in the printing.

For instance, the program which deals with the storage block JONES to TINKER, and then reads over it the block ·EVERS to CHANCE, should have:

USE EVERS, CHANCE

coded before any information macros are permitted to record information from the last block.

06.03.02 3 (1/61)

POINT n

In the information macros which follow a POINT macro, the words to be converted to fixed point decimal are first considered as fractions in which the binary point lies between the nth and the n+ 1th bits.

n is a decimal number ranging from 0 to 35; the sign of the word is not considered.

The effect of this macro may be reset by another POINT. NUCASE will also return it to normal conversion which is effectively POINT 35.

06.03.03 3 (1/61)

BUFFER LOC1, LOC2, IT1, IT2

The subfields of this macro specify the temporary storage to be used by a subsequent TAPE macro. Temporary storage is not restored. This macro must be used when it is necessary to prevent TAPE from reading into the uppermost 25610 words of memory. For records exceeding standard buffer

size (25610 words), considerable time will be saved if the block reserved by BUFFER is at least as long as the maximum record being recovered by TAPE.

This macro affects allocation of storage until another BUFFER macro is encountered. The NUCASE macro will reset the allocation to the top 25610 words of memory.

The subfields are interpreted as follows:

LOC1 and LOC2

IT!

and IT2

06.03.04 3 (1/61)

These subfields designate the first and last locations of a temporary storage buffer. They may be symbolic references or decimal

numbers, and are subject to conventional address modification by the IT1 and IT2 subfields, if coded.

These subfields apply to LOC! and LOC2, respectively. In each, I may be coded before or after T, and either or both may be omitted.

T1, for example, is coded as the index register modifying LOC1, and I (coded as "I"), causes the effective location to be indirectly addressed.

NUCASE

This macro initializes parameter s of certain debugging macros. POINT n is restored to POINT 35; BUFFER allocates the uppermost 256 10 ~ords of memory as temporary storage for any TAPE macro; and the counts generated by the count type conditional macros (see Chapter 4) are all reset to zero.

In the

m

System only, execution of NUCASE terminates anyon-line printing initiated by the ON macro.

06.03.05 3 (1/61)

FORMAT nl, Ql, n2, Q2, ... , ni, Qi

This macro defines the pattern to be used in printing the blocks of words to be dumped by a subsequent CORE macro which has been coded with V in its format

subfield.

The block may have been compiled by a VFD pseudo-op, or in a heterogeneous format, and its length is limited to the number of words in memory which will just contain the number of bits being specified.

In this macro, n1 specifies the number of bits at the beginning of the block which are to be printed in format Ql (see below), n2 specifies the next number of bits to be printed in format Q2, etc.

No subfields may extend into the next word and unspecified bits in the terminal word of the block will not be printed. The pattern will be repeated for the next block of words beginning with the first nl bits of the first word of the block. The formats which may be specified by Q in this macro are limited to S, X, 0, and H.

These are further limited as follows:

(1) X will always cause POINT 35 format regardless of a previous POINT macro (2) if any Q is H, the corre.sponding n should be a multiple of 6

(3) S will only be interpreted as a location symbol or relative to a location symbol.

06.03.06 3 (1/61)

ON

This macro causes subsequent debugging output to be printed on-line when finally converted to the output form.

The effect of ON is terminated by an OFF or a NUCASE macro-instruction.

06.03.07 3 (1/61)

OFF

OFF is used to terminate the effect of an ON without executing a NUCASE and thereby affecting other macros which it is not desired to change.

06.03.08 3 (1/61)

DEBUGGING SYSTEM

CHAPTER 4: CONDITIONAL MACROS: WHEN, UNLESS, EVERY

Im Dokument SHARE System for the IBM 709 (Seite 125-133)