|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 15748 (0x3d84)
Types: s3xseg
Names: »S$E038«
└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
└─⟦64693a1c9⟧
└─⟦this⟧ »S$E038«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* $E038 - GENERATE TRANSIENT IDENTIFICATION EQUATES TO BE PASSED * 00040000
.* TO THE TRANSIENT HANDLER ($CC4PI). * 00050000
.* * 00060000
.* INPUT OPERANDS - * 00070000
.* CON - 1 GENERATE CONSTANTS * 00080000
.* 0 DO NOT GENERATE CONSTANTS * 00090000
.* MXL - ############## * 00100000
.* A STRING OF 14 BITS (0/1) WHICH INDICATES* 00110000
.* WHICH MLTA TRANSLATE TRANSIENTS ARE RE- * 00120000
.* QUIRED. FOR EXAMPLE, BIT 1 SAYS $CC4J1 * 00130000
.* IS NEEDED, BIT 2 SAYS $CC4J2, ETC. * 00140000
.* * 00150000
.********************************************************************** 00160000
$E038 &CON-0,&MXL- 00170000
GBLB &DFF 00180000
GBLB &NAS BSCA ASCII SUPPORT 00190000
GBLB &BSCA 00200000
GBLB &N41 3741 AS A TERMINAL 00205000
GBLB &MLTA 00210000
GBLB &MIN 00220000
GBLB &NPBY 0=BUSY PRINT 1=NO SUPPORT 00225000
GBLB &DME 00230000
GBLC &# 00240000
LCLA &N RELATIVE ENTRY NUMBER 00250000
LCLA &LSIZE COUNT OF ENTRIES. 00260000
LCLB &C CONSTANTS SWITCH 00270000
TEXT 00280000
&LSIZE SETA 0 RESET COUNT 00290000
&# SETC ' ' 00300000
* BEGIN MACRO '$E038' 3/14/73 00310000
&C SETB 1 NO CONSTANTS WANTED 00320000
AIF (&CON EQ '0').NCON SET TO NO CONSTANTS GENERATED 00330000
&C SETB 0 CONSTANTS WANTED 00340000
TA@PGM EQU * START OF PGM LIST 00350000
SPACE 1 00360000
.NCON ANOP 00370000
*------------FIXED PORTION OF TRANSIENT LIST--------------------------* 00380000
SPACE 2 00390000
CC4AB EQU 12 ACCEPT INPUT POST PRE-PROCESSOR 00400000
&N SETA 15 00410000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00420000
AIF (&C).NO1 00430000
DC XL1'00' 00440000
DC CL2'AB' ACCEPT INPUT POST PRE-PROCESSOR 00450000
.NO1 ANOP 00460000
CC4A2 EQU &N ALLOCATION CONTROL 00470000
&N SETA &N+3 00480000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00490000
AIF (&C).NO2 00500000
DC XL1'00' 00510000
DC CL2'A2' ALLOCATION CONTROL 00520000
.NO2 ANOP 00530000
CC4GA EQU &N GET ATTRIBUTES 00540000
&N SETA &N+3 00550000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00560000
AIF (&C).NO3 00570000
DC XL1'00' 00580000
DC CL2'GA' GET ATTRIBUTES 00590000
.NO3 ANOP 00600000
CC4OP EQU &N USER FILE OPEN 00610000
&N SETA &N+3 00620000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00630000
AIF (&C).NO10 00640000
DC XL1'00' 00650000
DC CL2'OP' USER FILE OPEN 00660000
.NO10 ANOP 00670000
CC4R1 EQU &N COMMAND PROCESSOR CONTROL 00680000
&N SETA &N+3 00690000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00700000
AIF (&C).NO11 00710000
DC XL1'00' 00720000
DC CL2'R1' COMMAND PROCESSOR CONTROL 00730000
.NO11 ANOP 00740000
CC4PR EQU &N COMMAND PROCESSOR RETURN 00750000
&N SETA &N+3 00760000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00770000
AIF (&C).NO12 00780000
DC XL1'00' 00790000
DC CL2'PR' COMMAND PROCESSOR RETURN 00800000
.NO12 ANOP 00810000
CC4TD EQU &N TERMINATION CONTROL ROUTINE 00820000
&N SETA &N+3 00830000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00840000
AIF (&C).NO14 00850000
DC XL1'00' 00860000
DC CL2'TD' TERMINATION CONTROL ROUTINE 00870000
.NO14 ANOP 00880000
CC4WC EQU &N USER T-P SWITCHED LINE CONNECT 00890000
&N SETA &N+3 00900000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00910000
AIF (&C).NO16 00920000
DC XL1'00' 00930000
DC CL2'WC' USER T-P SWITCHED LINE CONNECT 00940000
.NO16 ANOP 00950000
CC4WR EQU &N T-P TRANSLATION ERROR 00960000
&N SETA &N+3 00970000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 00980000
AIF (&C).NO17 00990000
DC XL1'00' 01000000
DC CL2'WR' T-P TRANSLATION ERROR 01010000
.NO17 ANOP 01020000
CC4MP EQU &N IGNORE PUT TO ERP T-P DEVICE 01030000
&N SETA &N+3 01040000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01050000
AIF (&C).NOMP 01060000
DC XL1'00' 01070000
DC CL2'MP' IGNORE PUT TO ERP T-P DEVICE 01080000
.NOMP ANOP 01090000
AIF (&DFF NE '1').NDFF SKIP IF NO D.F.F. 01100000
CC4DC EQU &N D.F.F. 01110000
&N SETA &N+3 01120000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01130000
AIF (&C).NO20 01140000
DC XL1'00' 01150000
DC CL2'DC' D.F.F. 01160000
.NO20 ANOP 01170000
CC4DD EQU &N D.F.F. 01180000
&N SETA &N+3 01190000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01200000
AIF (&C).NO21 01210000
DC XL1'00' 01220000
DC CL2'DD' D.F.F. 01230000
.NO21 ANOP 01240000
CC4DB EQU &N D.F.F. 01250000
&N SETA &N+3 01260000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01270000
AIF (&C).NO22 01280000
DC XL1'00' 01290000
DC CL2'DB' D.F.F. 01300000
.NO22 ANOP 01310000
.NDFF ANOP 01320000
AIF (&DME NE '1').NREL RELEASE COMMAND SUPPORTED? 01330000
CC4NC EQU &N TERMINAL RELEASE COMMAND 01340000
&N SETA &N+3 01350000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01360000
AIF (&C).NO24 01370000
DC XL1'00' 01380000
DC CL2'NC' TERMINAL RELEASE COMMAND 01390000
.NO24 ANOP 01400000
.NREL ANOP NO, NO DME CAPABILITY 01410000
CC4DG EQU &N FILE SHARE DEQUEUE 01420000
&N SETA &N+3 01430000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01440000
AIF (&C).NO245 01450000
DC XL1'00' 01460000
DC CL2'DG' FILE SHARE DEQUEUE 01470000
.NO245 ANOP 01480000
CC4GR EQU &N GETMAIN RECOVERY TRANSIENT 01490000
&N SETA &N+3 01500000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01510000
AIF (&C).NO248 01520000
DC XL1'00' 01530000
DC CL2'GR' GETMAIN RECOVERY TRANSIENT 01540000
.NO248 ANOP 01550000
SPACE 1 01560000
AIF (&MLTA NE '1').NMLTA SKIP IF NO MLTA 01570000
*------------MLTA TRANSIENTS PORTION OF PROGRAM LIST------------------* 01580000
SPACE 1 01590000
AIF ('&MXL'(01,1) NE '1').NOJ1 01600000
CC4J1 EQU &N MLTA TRANSLATE 01610000
&N SETA &N+3 01620000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01630000
AIF (&C).NOJ1 01640000
DC XL1'00' 01650000
DC CL2'J1' MLTA TRANSLATE 01660000
.NOJ1 ANOP 01670000
AIF ('&MXL'(02,1) NE '1').NOJ2 01680000
CC4J2 EQU &N MLTA TRANSLATE 01690000
&N SETA &N+3 01700000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01710000
AIF (&C).NOJ2 01720000
DC XL1'00' 01730000
DC CL2'J2' MLTA TRANSLATE 01740000
.NOJ2 ANOP 01750000
AIF ('&MXL'(03,1) NE '1').NOJ3 01760000
CC4J3 EQU &N MLTA TRANSLATE 01770000
&N SETA &N+3 01780000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01790000
AIF (&C).NOJ3 01800000
DC XL1'00' 01810000
DC CL2'J3' MLTA TRANSLATE 01820000
.NOJ3 ANOP 01830000
AIF ('&MXL'(04,1) NE '1').NOJ4 01840000
CC4J4 EQU &N MLTA TRANSLATE 01850000
&N SETA &N+3 01860000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01870000
AIF (&C).NOJ4 01880000
DC XL1'00' 01890000
DC CL2'J4' MLTA TRANSLATE 01900000
.NOJ4 ANOP 01910000
AIF ('&MXL'(05,1) NE '1').NOJ5 01920000
CC4J5 EQU &N MLTA TRANSLATE 01930000
&N SETA &N+3 01940000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 01950000
AIF (&C).NOJ5 01960000
DC XL1'00' 01970000
DC CL2'J5' MLTA TRANSLATE 01980000
.NOJ5 ANOP 01990000
AIF ('&MXL'(06,1) NE '1').NOJ6 02000000
CC4J6 EQU &N MLTA TRANSLATE 02010000
&N SETA &N+3 02020000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02030000
AIF (&C).NOJ6 02040000
DC XL1'00' 02050000
DC CL2'J6' MLTA TRANSLATE 02060000
.NOJ6 ANOP 02070000
AIF ('&MXL'(07,1) NE '1').NOJ7 02080000
CC4J7 EQU &N MLTA TRANSLATE 02090000
&N SETA &N+3 02100000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02110000
AIF (&C).NOJ7 02120000
DC XL1'00' 02130000
DC CL2'J7' MLTA TRANSLATE 02140000
.NOJ7 ANOP 02150000
AIF ('&MXL'(08,1) NE '1').NOJ8 02160000
CC4J8 EQU &N MLTA TRANSLATE 02170000
&N SETA &N+3 02180000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02190000
AIF (&C).NOJ8 02200000
DC XL1'00' 02210000
DC CL2'J8' MLTA TRANSLATE 02220000
.NOJ8 ANOP 02230000
AIF ('&MXL'(09,1) NE '1').NOJ9 02240000
CC4J9 EQU &N MLTA TRANSLATE 02250000
&N SETA &N+3 02260000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02270000
AIF (&C).NOJ9 02280000
DC XL1'00' 02290000
DC CL2'J9' MLTA TRANSLATE 02300000
.NOJ9 ANOP 02310000
AIF ('&MXL'(10,1) NE '1').NOJA 02320000
CC4JA EQU &N MLTA TRANSLATE 02330000
&N SETA &N+3 02340000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02350000
AIF (&C).NOJA 02360000
DC XL1'00' 02370000
DC CL2'JA' MLTA TRANSLATE 02380000
.NOJA ANOP 02390000
AIF ('&MXL'(11,1) NE '1').NOJB 02400000
CC4JB EQU &N MLTA TRANSLATE 02410000
&N SETA &N+3 02420000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02430000
AIF (&C).NOJB 02440000
DC XL1'00' 02450000
DC CL2'JB' MLTA TRANSLATE 02460000
.NOJB ANOP 02470000
AIF ('&MXL'(12,1) NE '1').NOJC 02480000
CC4JC EQU &N MLTA TRANSLATE 02490000
&N SETA &N+3 02500000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02510000
AIF (&C).NOJC 02520000
DC XL1'00' 02530000
DC CL2'JC' MLTA TRANSLATE 02540000
.NOJC ANOP 02550000
CC4MA EQU &N MLTA 1ST LEVEL ERROR HANDLER 02560000
&N SETA &N+3 02570000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02580000
AIF (&C).NO25 02590000
DC XL1'00' 02600000
DC CL2'MA' MLTA 1ST LEVEL ERROR HANDLER 02610000
.NO25 ANOP 02620000
CC4MC EQU &N MLTA BUFR RECEIVE ERROR 02630000
&N SETA &N+3 02640000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02650000
AIF (&C).NO26 02660000
DC XL1'00' 02670000
DC CL2'MC' MLTA BUFR RECEIVE ERROR 02680000
.NO26 ANOP 02690000
CC4ME EQU &N MLTA CLOSE LINES 02700000
&N SETA &N+3 02710000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02720000
AIF (&C).NO27 02730000
DC XL1'00' 02740000
DC CL2'ME' MLTA CLOSE LINES 02750000
.NO27 ANOP 02760000
CC4MT EQU &N MLTA START OLT 02770000
&N SETA &N+3 02780000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02790000
AIF (&C).NO28 02800000
DC XL1'00' 02810000
DC CL2'MT' MLTA START OLT 02820000
.NO28 ANOP 02830000
CC4PG EQU &N MLTA PURGE I/O 02840000
&N SETA &N+3 02850000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02860000
AIF (&C).NO29 02870000
DC XL1'00' 02880000
DC CL2'PG' MLTA PURGE I/O 02890000
.NO29 ANOP 02900000
CC4SC EQU &N MLTA NON-ZERO START CODE ANALY. 02910000
&N SETA &N+3 02920000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 02930000
AIF (&C).NO30 02940000
DC XL1'00' 02950000
DC CL2'SC' MLTA NON-ZERO START CODE ANALY. 02960000
.NO30 ANOP 02970000
CC4SK EQU &N MLTA POLL SKIP BIT ROUTINE 02980000
&N SETA &N+3 02990000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03000000
AIF (&C).NO31 03010000
DC XL1'00' 03020000
DC CL2'SK' MLTA POLL SKIP BIT ROUTINE 03030000
.NO31 ANOP 03040000
CC4SQ EQU &N MLTA STOP POLLING ABORT OP-END 03050000
&N SETA &N+3 03060000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03070000
AIF (&C).NO32 03080000
DC XL1'00' 03090000
DC CL2'SQ' MLTA STOP POLLING ABORT OP-END 03100000
.NO32 ANOP 03110000
CC4T2 EQU &N MLTA OLT OP-END 03120000
&N SETA &N+3 03130000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03140000
AIF (&C).NO33 03150000
DC XL1'00' 03160000
DC CL2'T2' MLTA OLT OP-END 03170000
.NO33 ANOP 03180000
CC4T1 EQU &N OLT PARM LIST HANDLER 03190000
&N SETA &N+3 03200000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03210000
AIF (&C).NO15 03220000
DC XL1'00' 03230000
DC CL2'T1' OLT PARM LIST HANDLER 03240000
.NO15 ANOP 03250000
SPACE 1 03260000
.NMLTA ANOP 03270000
AIF (&BSCA NE '1').NBSCA SKIP IF NO BSCA 03280000
*------------BSCA PORTION OF PROGRAM LIST-----------------------------* 03290000
SPACE 1 03300000
CC4BA EQU &N 3270 SAVE STATUS 03310000
&N SETA &N+3 03320000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03330000
AIF (&C).NO34 03340000
DC XL1'00' 03350000
DC CL2'BA' 3270 SAVE STATUS 03360000
.NO34 ANOP 03370000
CC4BB EQU &N BSCA OUTPUT RECORD FORMATTING 03380000
&N SETA &N+3 03390000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03400000
AIF (&C).NO35 03410000
DC XL1'00' 03420000
DC CL2'BB' BSCA OUTPUT RECORD FORMATTING 03430000
.NO35 ANOP 03440000
CC4BC EQU &N BSCA STOP POLLING 03450000
&N SETA &N+3 03460000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03470000
AIF (&C).NO36 03480000
DC XL1'00' 03490000
DC CL2'BC' BSCA STOP POLLING 03500000
.NO36 ANOP 03510000
CC4BE EQU &N BSCA ERROR RECOVERY 03520000
&N SETA &N+3 03530000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03540000
AIF (&C).NO37 03550000
DC XL1'00' 03560000
DC CL2'BE' BSCA ERROR RECOVERY 03570000
.NO37 ANOP 03580000
AIF (&NPBY).NO375 SKIP IF NO BUSY PRINTER 03581000
CC4BG EQU &N BUSY PRINTER CLEANUP 03582000
&N SETA &N+3 03583000
&LSIZE SETA &LSIZE+1 UPDATE COUNT 03584000
AIF (&C).NO375 03585000
DC XL1'00' 03586000
DC CL2'BG' BUSY PRINTER CLEANUP 03587000
.NO375 ANOP 03588000
AIF (&DME NE '1').NBDM SKIP IF NO DME IN SYSTEM 03590000
CC4BI EQU &N BSCA DATA MODE ESCAPE 03600000
&N SETA &N+3 03610000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03620000
AIF (&C).NO38 03630000
DC XL1'00' 03640000
DC CL2'BI' BSCA DATA MODE ESCAPE 03650000
.NO38 ANOP 03660000
.NBDM ANOP 03670000
CC4BP EQU &N BSCA PURGE 03680000
&N SETA &N+3 03690000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03700000
AIF (&C).NO39 03710000
DC XL1'00' 03720000
DC CL2'BP' BSCA PURGE 03730000
.NO39 ANOP 03740000
CC4BQ EQU &N BSCA STOP POLLING QUEUE 03750000
&N SETA &N+3 03760000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03770000
AIF (&C).NO40 03780000
DC XL1'00' 03790000
DC CL2'BQ' BSCA STOP POLLING QUEUE 03800000
.NO40 ANOP 03810000
CC4BR EQU &N BSCA USER T-P REQ VALIDATION 03820000
&N SETA &N+3 03830000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03840000
AIF (&C).NO41 03850000
DC XL1'00' 03860000
DC CL2'BR' BSCA USER T-P REQ VALIDATION 03870000
.NO41 ANOP 03880000
CC4B5 EQU &N BSCA 3735 SENSE STATUS 03890000
&N SETA &N+3 03900000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03910000
AIF (&C).NO42 03920000
DC XL1'00' 03930000
DC CL2'B5' BSCA 3735 SENSE STATUS 03940000
.NO42 ANOP 03950000
CC4B0 EQU &N BSCA 3270 COMMAND FORMATTING 03960000
&N SETA &N+3 03970000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 03980000
AIF (&C).NO43 03990000
DC XL1'00' 04000000
DC CL2'B0' BSCA 3270 COMMAND FORMATTING 04010000
.NO43 ANOP 04020000
AIF (&MIN NE '1').NBSMN MIN BSCA SUPPORT NEEDED? 04030000
CC4B1 EQU &N MIN SYS BSCA # 1 04040000
&N SETA &N+3 04050000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 04060000
AIF (&C).NO44 04070000
DC XL1'00' 04080000
DC CL2'B1' MIN SYS BSCA # 1 04090000
.NO44 ANOP 04100000
CC4B2 EQU &N MIN SYS BSCA # 2 04110000
&N SETA &N+3 04120000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 04130000
AIF (&C).NO45 04140000
DC XL1'00' 04150000
DC CL2'B2' MIN SYS BSCA # 2 04160000
.NO45 ANOP 04170000
.NBSMN ANOP 04180000
AIF (&NAS).NASCI ASCII SUPPORT IN BSCA? 04190000
CC4JD EQU &N BSCA ASCII TRANSLATE 04200000
&N SETA &N+3 04210000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 04220000
AIF (&C).NO18 04230000
DC XL1'00' 04240000
DC CL2'JD' BSCA ASCII TRANSLATE 04250000
.NO18 ANOP 04260000
CC4JE EQU &N BSCA ASCII TRANSLATE 04270000
&N SETA &N+3 04280000
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 04290000
AIF (&C).NO19 04300000
DC XL1'00' 04310000
DC CL2'JE' BSCA ASCII TRANSLATE 04320000
.NO19 ANOP 04330000
.NASCI ANOP 04340000
AIF (&N41).NO46 3741 SUPPORT 04341000
CC4B7 EQU &N 3741 SUPPORT AS A TERMINAL 04342000
&N SETA &N+3 UPDATE COUNT 04343000
&LSIZE SETA &LSIZE+1 UPDATE COUNT 04344000
AIF (&C).NO46 04345000
DC XL1'00' 04346000
DC CL2'B7' 3741 TERMINAL SUPPORT 04347000
.NO46 ANOP 04348000
CC4S0 EQU &N BSCA 3275 COMMAND FORMATTING 04348200
&N SETA &N+3 04348400
&LSIZE SETA &LSIZE+1 UPDATE COUNT. 04348600
AIF (&C).NO47 04348800
DC XL1'00' 04349000
DC CL2'S0' BSCA 3275 COMMAND FORMATTING 04349200
.NO47 ANOP 04349400
SPACE 1 04350000
.NBSCA ANOP 04360000
.END ANOP 04370000
*------------DEFINE THE EQUATE FOR THE # OF ENTRIES IN THE LIST-------* 04380000
SPACE 1 04390000
LSTSIZ EQU &LSIZE # OF ENTRIES IN TRANSIENT LIST 04400000
* END MACRO '$E038' 04410000
MEND 04420000