PHASE III MESSAGE FORMATS
CZAQN -- DISHLINE - DISPLAY A HEX LINE This routine formats and writes a
line of hexadecimal characters. (See Chart BU.)
Entry CZAQNl
Via a standard type-I linkage.
Routines Called DISOUT (CZAQUl)
Writes a line.
Exit
This routine returns to the calling program.
Operation
The beginning VMA is converted to hexadecimal and placed in the line.
Since hexadecimal characters are for-matted in mUltiples of four words to a
line, the VMA of the first byte, if.
not a multiple of sixteen, causes the line pointer to shift to the approp-riate line position representing the VMA. If only one line is being dis-played, this routine is bypassed.
Each word is converted to hexadecimal characters. In the case of the first and last positions of the range, less than a full word could be converted.
For DUMP, a character representation is also formed, which will appear to the right of the hexadecimal representation.
DISOUT is called when the last byte has been converted or the line becomes full. A "last item" flag is set when all the characters in the range have been displayed.
CZAQQ -- DISRHEAD - FORMAT RANGE HEADER This routine forms a header for a range specified in a DISPLAY, DUMP, or SET command. It also retrieves location identifiers, such as a symbol or hex address, for diagnostic messages.
Entry CZAQQI
Via a standard type-I linkage.
Routines Called MAPSEARCH (CZCCQ)
Finds the CSECT containing a VM address.
DISYM (CZAQRl)
Forms a symbol corresponding to a VM address.
DISOUT (CZAQU1)
Writes a range header.
DIAG (CZAQX1)
Writes a diagnostic message.
Exit
This routine returns to the calling program.
Operation
This routine calls DISYM to form a symbol or location identifier for the beginning VM address in the DISPLIST.
If a range is specified, DISYM is called a second time to form the rest of the range header.
If an error code is present in DCODE, DIAG is called to write a message to the user.
If the range is specified as an exter+
nal symbol, MAPSEARCH is called to find the CSECT in which i t is included.
When all information is collected, DISOUT is called to write the line on the user's SYSOUT.
CZAQR -- DISYM - FORMAT SYMBOL This routine formats a symbol or a hexadecimal location on a line. (See Chart BV.)
Entry CZAQR1
Entry is via a standard type-I linkage.
Routines Called None
Exit
This routine returns to the calling program.
Operation
If the IDENT indicates an external symbol, the pointer to the PMD is used to pick up the symbol name. The off-set, if any, is added to the line.
If the IDENT indicates hexadecimal, the VMA is converted to hexadecimal characters, and placed on the line.
Internal symbols are preceded by the module name, unless a qualify statement is in effect. Modules that have been link-edited will also show the current module name. The offset or subscript value is added to the line.
FORTRAN statements with a zero statement number will be displayed as a subscript to the previous nonzero statement number.
The final process scans the com-plete symbol, including offset and subscript, and shifts the characters to remove any blanks.
CZAQT -- DBIN - FORM A LINE IN BINARY FORMAT
This routine creates a line of bi-nary data.
Entry CZAQT1
Via a standard type-I linkage.
Routines Called DISYM
Forms a symbol corresponding to a virtual memory address.
DISOUT
Writes a line.
Exit
Returns to the calling program.
Operation
A line is created containing the given number of bytes in binary format, and the proper virtual memory identi-fier is placed in front of it.
CZAQU -- DISOUT - OUTPUT A LINE This routine sends a line to the user via GATE for DISPLAY and SET, or via VISAM to PCSOUT for DUMP. (See Chart BW.)
Entry CZAQU1
Via a standard type-I linkage.
Routines Called GATWR
Writes a line on the terminal device.
VISAM PUT
Writes a line on the PCSOUT data set.
Exit
This routine has two exit points:
• To DISPDUMP if the display has been terminated by ~n attention
interrupt. A direct branch is made to QA040.
• To the calling program.
Operation
Before a line is sent to the ter-minal, the interrupt flag is checked.
If the flag is on, the user has inter-rupted to bypass a lengthy display, and the DISPDUMP routine retu.rns to the control module. Since the interrupt flag cannot be on unless the allow interrupt flag is also on, at least one line of data will be transmitted.
Output to the user terminal is via the GA~WR routine. Dump output is put on the PCSOUT data set by the VISAM PUT macro.
CZAQV -- REALCON - REAL NUMBER CON-VERSION
This routine converts a floating point number in single or double pre-cision to the standard FORTRAN format:
Single ±.XXXXXXXX E±XX
Double ±.XXXXXXXXXXXXXXXX D±XX (See Chart BX.)
Entry CZAQV1
Via a standard type-I linkage.
Routines Called None
Exit
This routine returns to the calling program.
Operation
The number is converted to a frac-tion with a characteristic of zero, by multiplying or dividing the number by
a power of ten. The exponent corres-ponding to the power of ten is saved.
The resulting fraction is converted to decimal digits by successively mUlti-plying the hexadecimal number by 10.
As each decimal digit shifts into the high-order position, i t is zoned and moved to the next position in the out-put area. Leading zeros are eliminated and the exponent is adjusted. The
exponent and signs are then moved to the output area along with the E/D indicator.
CZAQX -- DIAG - DYNAMIC DIAGNOSTIC This routine forms the diagnostic for all errors detected by the PISPDUMP routine.
Entry CZAQX1
Via a standard type-I linkage.
Routines Called PRMPT
Writes a line on the terminal device.
Exit
This routine returns to the calling program.
Operation
A message identifier from SYSMLF is selected, based on the diagnostic code set by the calling subroutine. The key-word which indicates the reason for the diagnostic and also the action that was not taken is used as a parameter. PRMPT is called to send the line to the termi-nal. The error flag is set to return an error code to the caller of the DISPDUMP'routine.
This section contains the flowcharts for the various PCS routines. The charts are arranged in the same order as the routine descriptions. However, not all descriptions are illustrated by a chart.
SECTION 4: FLOWCHARTS