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 Generate transfer area for analyzed statement
&pagelevel(5)&pagelevel
The CMDTA macro generates a DSECT for the standardized transfer area. This defines and initializes the data area. The standardized transfer area is needed for the following three purposes:
SDF passes an analyzed statement to the program
(see CMDCST, CMDRST and CMDTST)
The program returns a semantically incorrect statement to SDF (see CMDCST)
The program passes values to SDF that are to replace specified operand values (see CMDRST and CMDTST).
The standardized transfer area is described in detail on "Format of the standardized transfer area".
Operation | Operands |
CMDTA | MAXLEN = <integer 0..2147483647> / <var: int 0..2147483647> ,MF = C / D / L / M |
MAXLEN = <integer 0..2147483647> / <var: int:8>
Specifies the length of the standardized transfer area (in bytes).
Description of the parameters MF, MACID and PREFIX see the “Executive Macros“manual
[8 (Related publications)].
Migration from CMDSTRUC to CMDTA
In the new transfer area all the data is correctly aligned (addresses on word boundary, halfwords on halfword boundary, etc.). As a result, ICM instructions can be replaced by L and LH instructions.
The length field of the new transfer area occupies 4 bytes (after the standard header). In the old transfer area this was 2 bytes right at the start of the transfer area.
On the next pages you will find a comparison of the DSECTs generated by CMDSTRUC and CMDTA. The names changed when CMDTA is used are shown in bold
print.
*- *****************************
*- * 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
|