$SAVE NOLIST

/****************************************************************************/
/*             GENERAL USAGE LITERALS FOR THE PL/M-286 LANGUAGE             */
/****************************************************************************/

DECLARE

    /* MAGICAL VALUES */

    FALSE               LITERALLY '0',
    TRUE                LITERALLY '0FFH',

    NOT_FOUND           LITERALLY '0FFFFH',         /* FOR RESULT FROM FINDB/W/RB/RW AND SKIPB/W/RB/RW */
    NO_DIFFERENCES      LITERALLY '0FFFFH',         /* FOR RESULT FROM CMPB/W */

    NULL$POINTER        LITERALLY 'NIL',
    NULL$TOKEN          LITERALLY '0FFFFH',

    HIGHEST_BYTE_VALUE  LITERALLY '0FFH',
    HIGHEST_HWORD_VALUE LITERALLY '0FFH',
    HIGHEST_WORD_VALUE  LITERALLY '0FFFFH',
    HIGHEST_DWORD_VALUE LITERALLY '0FFFFFFFFH',

    ONE_NIBBLE          LITERALLY '4',              /* BITS */
    ONE_BYTE            LITERALLY '8',              /* BITS */
    ONE_HWORD           LITERALLY '8',              /* BITS */
    ONE_WORD            LITERALLY '16',             /* BITS */
    ONE_DWORD           LITERALLY '32',             /* BITS */

    NIBBLES             LITERALLY '* ONE_NIBBLE',   /* USE "3 NIBBLES" IN BIT COUNT OF SHL/R, ROL/R, SAL/R */
    BYTES               LITERALLY '* ONE_BYTE',     /* USE "5 BYTES" IN BIT COUNT OF SHL/R, ROL/R, SAL/R */

    PARAGRAPH_SIZE      LITERALLY '16',             /* BYTES */

    HIGH_NIBBLE_MASK    LITERALLY '00FH',
    LOW_NIBBLE_MASK     LITERALLY '0F0H',

    /* CONSTRUCT CHANGES */

    BOOLEAN             LITERALLY 'BYTE',
    REPEAT              LITERALLY 'DO WHILE 1',     /* USE "REPEAT;" */
    FOREVER             LITERALLY 'WHILE 1',        /* USE "DO FOREVER;" */
    UNTIL               LITERALLY 'WHILE NOT',      /* USE "DO UNTIL( ... );" */

    STRING              LITERALLY 'STRUCTURE( LENGTH BYTE, CHAR (1) BYTE )',

    /* TYPING SAVERS */

    DCL                 LITERALLY 'DECLARE',
    LIT                 LITERALLY 'LITERALLY',

    /* NON-PRINTABLE CHARACTERS */

    NUL                 LITERALLY '000H',           /* CNTL-@ */
    SOH                 LITERALLY '001H',           /* CNTL-A */
    STX                 LITERALLY '002H',           /* CNTL-B */
    ETX                 LITERALLY '003H',           /* CNTL-C */
    EOT                 LITERALLY '004H',           /* CNTL-D */
    ENQ                 LITERALLY '005H',           /* CNTL-E */
    ACK                 LITERALLY '006H',           /* CNTL-F */
    BEL                 LITERALLY '007H',           /* CNTL-G */
    BELL                LITERALLY '007H',
    BS                  LITERALLY '008H',           /* CNTL-H */
    HT                  LITERALLY '009H',           /* CNTL-I */
    TAB                 LITERALLY '009H',
    LF                  LITERALLY '00AH',           /* CNTL-J */
    VT                  LITERALLY '00BH',           /* CNTL-K */
    FF                  LITERALLY '00CH',           /* CNTL-L */
    CR                  LITERALLY '00DH',           /* CNTL-M */
    SO                  LITERALLY '00EH',           /* CNTL-N */
    SI                  LITERALLY '00FH',           /* CNTL-O */
    DLE                 LITERALLY '010H',           /* CNTL-P */
    DC1                 LITERALLY '011H',           /* CNTL-Q */
    XON                 LITERALLY '011H',
    DC2                 LITERALLY '012H',           /* CNTL-R */
    DC3                 LITERALLY '013H',           /* CNTL-S */
    XOFF                LITERALLY '013H',
    DC4                 LITERALLY '014H',           /* CNTL-T */
    NAK                 LITERALLY '015H',           /* CNTL-U */
    SYN                 LITERALLY '016H',           /* CNTL-V */
    ETB                 LITERALLY '017H',           /* CNTL-W */
    CAN                 LITERALLY '018H',           /* CNTL-X */
    EM                  LITERALLY '019H',           /* CNTL-Y */
    SUB                 LITERALLY '01AH',           /* CNTL-Z */
    ESC                 LITERALLY '01BH',           /* CNTL-[ */
    FS                  LITERALLY '01CH',           /* CNTL-\ */
    GS                  LITERALLY '01DH',           /* CNTL-] */
    RS                  LITERALLY '01EH',           /* CNTL-^ */
    US                  LITERALLY '01FH',           /* CNTL-_ */
    SP                  LITERALLY '020H',
    SPACE               LITERALLY '020H',
    BLANK               LITERALLY '020H',
    DEL                 LITERALLY '07FH',
    ERASE               LITERALLY '07FH',
    RUBOUT              LITERALLY '07FH';

$RESTORE
