LRDD

Read syntax diagramSkip visual syntax diagram LRDD

Purpose

Use the LRDD macroinstruction in conjunction with the LINERD macro to map the LINERD descriptors for multiple inputs.

Usage Notes

  1. For more information on the LRDD macro, see z/VM: CMS Application Development Guide for Assembler.
  2. The LRDD mapping macro expands as follows:
    LRDD     DSECT
    LRDDNEXT DS    A           Pointer to next LINERD descriptor (LRDD)
             DS    CL8         Reserved
    LRDDLINE DS    F           Line number
    LRDDCOL  DS    F           Column number
    LRDDTXTA DS    A           Text address               for input LRDD
    LRDDTXTL DS    F           Length of text following this LRDD
    *                                                     for input LRDD
             DS    CL4         Reserved
    *
    LRDDFLG1 DS    XL1         Flag byte #1               for input LRDD
    LRDDRESI EQU   X'01'       .... ...X Reserved area of vscreen
    LRDDOUTL DS    XL1         Field outlining byte       for input LRDD
    LRDDCSET DS    XL1         MIXED/SBCS field attribute for input LRDD
             DS    CL6         Reserved
    LRDDATTR DS    XL1         Attribute byte             for input LRDD
    LRDDCOLR DS    XL1         Color byte                 for input LRDD
    LRDDEXHI DS    XL1         Extended highlighting byte for input LRDD
    LRDDPSS  DS    XL1         PSS byte                   for input LRDD
    *
    LRDDFLG2 DS    XL1         Flag byte #2            for cursor LRDD
    LRDDRESC EQU   X'01'       .... ...X Reserved area of vscreen
    *
             DS    XL1         Reserved
    *
    LRDDKEY  DS    XL1         Holds key pressed       for cursor LRDD
    LRDDLEN  EQU   *-LRDD      Length of LRDD in bytes
    LRDDDBSZ EQU   ((LRDDLEN+7)/8) Length of LRDD in doublewords
    *
    Note: The next three usage notes pertain to the cursor & key descriptor only.
  3. If the cursor is not located in the vscreen, the value in both LRDDLINE and LRDDCOL is -1. If the cursor is located between the top and bottom of the vscreen, the line and column are returned. If the cursor is located on the line following the bottom line, the column number is returned in LRDDCOL and LRDDLINE is set to 0. If the cursor is located below the line following the bottom line, LRDDLINE is set to 0 and LRDDCOL is set to 2.
  4. If the LRDDRESC flag of the LRDDFLG2 field is not set, the cursor is in the scrollable area of the vscreen. If this flag is set, the cursor is in the top reserved area of the vscreen if the line number is a positive value, and if the line number is negative, the cursor is in the bottom reserved area.
  5. The LRDDKEY field returns the hexadecimal value of the key pressed. These values are documented in the IBM 3270 Information Display System Data Stream Programmer's Reference. The valid key values are:
    Code Key   Code Key
    X'7D' ENTER   X'C3' PF15
    X'F1' PF1   X'C4' PF16
    X'F2' PF2   X'C5' PF17
    X'F3' PF3   X'C6' PF18
    X'F4' PF4   X'C7' PF19
    X'F5' PF5   X'C8' PF20
    X'F6' PF6   X'C9' PF21
    X'F7' PF7   X'4A' PF22
    X'F8' PF8   X'4B' PF23
    X'F9' PF9   X'4C' PF24
    X'7A' PF10   X'6C' PA1
    X'7B' PF11   X'6E' PA2
    X'7C' PF12   X'6B' PA3
    X'C1' PF13   X'6D' CLEAR
    X'C2' PF14      
    Note: The following usage notes pertain to the input descriptors only.
  6. The text always immediately follows the LRDD input descriptor, and LRDDTXTA points to that location.
  7. The input length returned in LRDDTXTL may be shorter than the field displayed for user modification in the vscreen (trailing nulls are removed). If only part of a field from a virtual screen is displayed on the physical screen and the field is modified, the entire field is returned. If LRDDTXTL is zero, no text follows the descriptor.
  8. If the LRDDRESI flag of the LRDDFLG1 field is not set, the input was read from the scrollable area of the vscreen. If the flag is set, the input was read from the top reserved area of the vscreen if the line number is a positive number, and if the line number is a negative number, the input was read from the bottom reserved area.
  9. LRDDCSET returns the character set of the input. X'00' indicates a mixed DBCS field, and X'01' indicates a SBCS field, or a pure DBCS (PSS 8) field.
  10. Valid values for the LRDDOUTL, LRDDATTR, LRDDCOLR, LRDDEXHI, and LRDDPSS fields are documented in the description of the LWRD macroinstruction.