Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

CMDTA Übergabebereich für eine analysierte Anweisung generieren

&pagelevel(4)&pagelevel

Der Makro CMDTA generiert eine DSECT für den normierten Übergabebereich und deklariert und initialisiert den Datenbereich. Der normierte Übergabebereich dient folgenden Zwecken:

  1. SDF übergibt an das Programm eine analysierte Anweisung
    (siehe CMDCST, CMDRST und CMDTST).

  2. Das Programm gibt eine semantisch fehlerhafte Anweisung an SDF zurück (siehe CMDCST).

  3. Das Programm übergibt an SDF Werte, die eingegebene Operandenwerte ersetzen sollen (siehe CMDRST und CMDTST).

Der normierte Übergabebereich ist im Detail auf den Aufbau des normierten Übergabebereichs beschrieben.

Operation

Operanden

CMDTA

MAXLEN = <integer 0..2147483647> / <var: int 0..2147483647>

,MF = C / D / L / M

MAXLEN = <integer 0..2147483647> / <var: int:8>
Legt die Länge des normierten Übergabebereiches fest (in Byte).

Beschreibung der Parameter MF, MACID und PREFIX siehe Benutzerhandbuch „Makroaufrufe an den Ablaufteil“ [8].

Migration von CMDSTRUC zu CMDTA
Im neuen Übergabebereich sind alle Daten korrekt ausgerichtet (Adressen auf Wortgrenze, Halbworte auf Halbwortgrenze usw.). Aus diesem Grund können ICM-Befehle durch L- und LH-Befehle ersetzt werden.
Das Längenfeld des neuen Übergabebereiches belegt 4 Byte (nach dem Standardheader). Im alten Übergabebereich waren es 2 Byte direkt am Anfang des Übergabebereiches.

Nachfolgend finden Sie eine Gegenüberstellung der von CMDSTRUC und CMDTA erzeugten DSECT. Die Namen, die sich mit CMDTA ändern, sind halbfett dargestellt.

*-      *****************************
*-      * STRUCTURED DESCRIPTION    *
*-      *****************************
*-     CMDSTRUC                   CMDTA

CMDSDES  DSECT                    CMDSDES  DSECT
CMDML    DC    XL2'0'             CMDFHDR  FHDR  MF=(C,CMD),EQUATES=NO
CMDINTN  DC    CL8' '             CMDML          DS    F
CMDVER   DC    XL4'0'             CMDINTN        DS    CL8
CMDLAB   DC    AL4(0)             CMDLAB         DS    A
CMDNRMO  DC    XL2'0'             CMDVER         DS    CL3
CMDMAINO EQU   *                  CMDUNU1        DS    XL1
CMDSDESL EQU   *-CMDSDES          CMDUNU2        DS    XL8
                                  CMDNRMO        DS    H
                                  CMDUNU3        DS    XL2
                                  CMDMAIN        EQU   *
                                  CMDSDEL        EQU   *-CMDFHDR

*-        ***************************
*-        * OPERAND DESCRIPTOR      *
*-        ***************************

CMDODES  DSECT                    CMDODES        DSECT
CMDGSTAT DC    X'00'              CMDGSTA        DS    AL1
CMDOCC   EQU   X'80'              CMDOCC         EQU   X'80'
CMDUCH   EQU   X'40'              CMDUCH         EQU   X'40'
CMDERR   EQU   X'20'              CMDERR         EQU   X'20'
CMDRDEF  EQU   X'10'              CMDRDEF        EQU   X'10'
*                                 CMDOTYP        DS    FL1
CMDOTYPE DC    X'00'              CMDGATT        DS    AL1
*                                 CMDWILD        EQU   X'80'
CMDODESL EQU   *-CMDODES          CMDCWIL        EQU   X'40'
                                  CMDSATT        DS    0XL1
                                  CMDFNAT        DS    AL1
                                  CMDFNCA        EQU   X'80'
                                  CMDFNUS        EQU   X'40'
                                  CMDFNGE        EQU   X'20'
                                  CMDFNVE        EQU   X'10'
                                  CMDFNTP        EQU   X'08'
                                           ORG   CMDSATT
                                  CMDNAAT        DS    AL1
                                  CMDNAUN        EQU   X'80'
                                           ORG   CMDSATT
                                  CMDCNAT        DS    AL1
                                  CMDCNUN        EQU   X'80'
                                  CMDCNCA        EQU   X'40'
                                           ORG   CMDSATT
                                  CMDTXAT        DS    AL1

                                  CMDTXSE        EQU   X'80'
                                           ORG   CMDSATT
                                  CMDXTAT        DS    AL1
                                  CMDXTOD        EQU   X'80'
                                           ORG   CMDSATT
                                  CMDPXAT        DS    AL1
                                  CMDPXAB        EQU   X'80'
                                  CMDPXPO        EQU   X'40'
                                  CMDPXQU        EQU   X'20'
                                           ORG   CMDSATT
                                  CMDSTAT        DS    AL1
                                  CMDSTQU        EQU   X'80'
                                           ORG   CMDSATT
                                  CMDPVAT        DS    AL1
                                  CMDPVCO        EQU   X'80'
                                  CMDPVUI        EQU   X'40'
                                           ORG   CMDSATT+1
                                  CMDODEL        EQU   *-CMDODES

*-        ***************************
*-        * OPERAND HEADER          *
*-        ***************************
*-

CMDHEAD  DSECT                    CMDHEAD        DSECT
CMDDES   DC    XL2'0'                            DS    0A
CMDOPTR  DC    AL4(0)             CMDDES         DS    XL4
CMDHEADL EQU   *-CMDHEAD          CMDOPTR        DS    A
                                  CMDHEAL        EQU   *-CMDHEAD

*-        ***************************
*-        * STRUCTURE OPERAND       *
*-        ***************************
*-

CMDSOP   DSECT                    CMDSOP   DSECT
CMDNREL  DC    XL2'0'                      DS    0A
CMDSTRT  DC    XL6'0'             CMDNREL  DS    H
CMDSTEL  EQU   *                  CMDUNU4  DS    XL2
CMDSOPL  EQU   *-CMDSOP           CMDSTRT  DS    XL8
                                  CMDSTEL  EQU   *
                                  CMDSOPL  EQU   *-CMDSOP

*-        ***************************
*-        * OPERAND VALUE           *
*-        ***************************
*-

CMDOVAL  DSECT                    CMDOVAL  DSECT
CMDLVAL  DC    XL2'0'                      DS    0A
CMDAVAL  EQU   *                  CMDLVAL  DS    H
CMDTIME  EQU   CMDAVAL            CMDUNU5  DS    XL2
CMDHOUR  DC    XL2'0'             CMDAVAL  EQU   *
CMDMINU  DC    X'0'               CMDTIME  EQU   CMDAVAL
CMDSEC   DC    X'0'               CMDHOUR  DS    H
         ORG   CMDAVAL            CMDMINU  DS    X
CMDIVAL  DC    XL4'0'             CMDSEC   DS    X
CMDOVALL EQU   *-CMDOVAL                   ORG   CMDAVAL
                                  CMDIVAL  DS    F
                                  CMDOVLL  EQU   *-CMDOVAL

*-        ***************************
*-        * LIST ELEMENT            *
*-        ***************************
*-

CMDLE    DSECT                    CMDLE    DSECT
CMDETYPE DC    XL6'0'                      DS    0A
CMDORL   EQU   *                  CMDETYP  DS    XL8
CMDNEL   DC    AL4(0)             CMDORL   EQU   *
CMDELOP  EQU   *                  CMDNEL   DS    AL4
CMDELVAL EQU   *                  CMDELOP  EQU   *
CMDLEL   EQU   *-CMDLE            CMDELVA  EQU   *
                                  CMDLEL   EQU   *-CMDLE

*-        *****************************
*-        * EQUATES FOR OPERAND TYPES *
*-        *****************************
*-

CMDC#RES EQU   1                  CMDCRES  EQU   1
CMDINT   EQU   2                  CMDINT   EQU   2
CMDX#STR EQU   4                  CMDXSTR  EQU   4
CMDC#STR EQU   5                  CMDCSTR  EQU   5
CMDNAME  EQU   6                  CMDNAME  EQU   6
CMDA#NAM EQU   7                  CMDANAM  EQU   7
CMDS#NAM EQU   8                  CMDSNAM  EQU   8
CMDLABEL EQU   9                  CMDLABE  EQU   9
CMDSTAR  EQU   10                 CMDSTAR  EQU   10
CMDF#FIL EQU   11                 CMDFFIL  EQU   11
CMDP#FIL EQU   12                 CMDPFIL  EQU   12
CMDTIM   EQU   13                 CMDTIM   EQU   13
CMDDATE  EQU   14                 CMDDATE  EQU   14
CMDCNAME EQU   15                 CMDCNAM  EQU   15
CMDTEXT  EQU   16                 CMDTEXT  EQU   16
CMDCATID EQU   17                 CMDCATI  EQU   17
CMDI#TXT EQU   18                 CMDITXT  EQU   18
CMDSTRUC EQU   19                 CMDSTRU  EQU   19
CMDLIST  EQU   20                 CMDLIST  EQU   20
CMDOR#LI EQU   21                 CMDORLI  EQU   21
CMDKEYW  EQU   22                 CMDKEYW  EQU   22

CMDVSN   EQU   24                 CMDVSN   EQU   24
CMDXTEXT EQU   25                 CMDXTEX  EQU   25
CMDFIXD  EQU   26                 CMDFIXD  EQU   26
CMDDEV   EQU   27                 CMDDEV   EQU   27
CMDPVER  EQU   28                 CMDPVER  EQU   28
CMDX#PAT EQU   29                 CMDXPAT  EQU   29
CMDX#FIL EQU   35                 CMDXFIL  EQU   35