Материал к теме форума Cross Memory
[
]
| 25.10.2016, 15:33 |
PRINT NOGEN 00001000 SRB05 CSECT 00010010 SRB05 AMODE 31 00011011 SRB05 RMODE 24 00012011 STM R14,R12,12(R13) 00020000 LR R12,R15 00030000 USING SRB05,R12 00040000 * 00050000 LA R1,SAVEA 00060009 ST R13,4(,R1) 00070009 ST R1,8(,R13) 00080009 LR R13,R1 00090009 * 00110009 * GET INTO SUP STATE, KEY ZERO * 00120000 * 00130009 MODESET MODE=SUP,KEY=ZERO 00180000 * 00290009 * SET UP CSA STORAGE * 00300000 * 00310009 * 00320000 LA R4,WKLEN LENGTH OF WORK AERA 00330000 GETMAIN R,LV=(R4),SP=228 00350000 LR R6,R1 00370000 USING WKAREA,R6 MAP CSA STORAGE 00380000 LR R2,R6 00390103 LR R3,R4 00390203 LR R4,R2 SET THE DESTINATION FIELD ADDRESS 00391002 SR R5,R5 SET THE PAD CHARACTER TO X'00' AND LENGTH TO 0 00392002 MVCL R2,R4 PUTS THE PAD CHARACTER OF X'00' IN THE FIELD 00393002 * 00410000 L R8,CVTPTR CVT ADDRESS 00420000 L R8,0(,R8) PSATNEW 00430000 L R10,4(,R8) CURRENT TCB ADDRESS 00440000 L R8,12(,R8) CURRENT ASCB (OURS) 00450000 * 00460000 * GET ASCB ADDRESS FOR DEST ADDRESS SPACE 00470009 * 00480000 L R9,CVTPTR AДPEC CVT 00522004 L R9,CVTASVT-CVTMAP(R9) AДPEC ASVT (CПИC AДP ПPOCTP) 00523004 L R2,ASVTMAXU-ASVTPRFX(R9) KOЛ-BO AДP-X ПPOCTP-B 00524004 MOV3 TM ASVTENTY-ASVTPRFX(R9),X'80' ИД AДP. ПPOCTP-BA CBOБOДEH ? 00525004 BO MOV4 ДA. CЛEД. ЭЛ-HT ASVT 00526004 L 14,ASVTENTY-ASVTPRFX(R9) AДP. ASCB 00527004 L 1,ASCBJBNI-ASCBEGIN(14) AДP. ИMEHИ ЗAДAHИЯ ПOД INIT 00528004 CLC 0(8,1),=CL8'USER1 ' ЭTO ИMЯ ЗAДAHИЯ AБ-TA ? 00529007 BE MOV5 ДA. 00529104 L 1,ASCBJBNS-ASCBEGIN(14) AДP. ИMEHИ ЗAДAHИЯ ПO START 00529204 CLC 0(8,1),=CL8'USER1 ' ЭTO ИMЯ ЗAДAHИЯ AБ-TA ? 00529307 BE MOV5 ДA. 00529404 MOV4 LA R9,4(R9) CЛEД. ЭЛ-HT ASCB 00529504 BCT R2,MOV3 BCE ЭЛ-TЫ ASCB ? 00529604 B CLEANUP ЗАДАНИЕ НЕ НАЙДЕНО 00529704 MOV5 EQU * 00529804 LR R9,R14 00529908 * 00530000 * COPY SRB ROUTINE INTO CSA 00540000 * 00550000 LA R2,SRBCODE SRB CODE IN CSA 00560000 LA R3,ENDSRTN-SRBRTN LENGTH OF SRB ROUTINE 00570000 LA R4,SRBRTN MODEL CODE TO COPY 00580000 LR R5,R3 00590000 MVCL R2,R4 COPY INTO CSA 00600000 * 00610000 * BUILD SRB CONTROL BLOCK 00620000 * 00630000 LA R7,SRBAREA SRB STORAGE AREA 00640000 USING SRB,R7 00650000 XC 0(SRBSIZE,R7),0(R7) CLEAR 00660000 * 00670000 MVC SRBID,=CL4'SRB ' SRB ID 00680000 * 00690000 ST R10,SRBPTCB PURGE TCB ADDRESS 00700000 SLR R1,R1 00710000 ICM R1,B'0011',ASCBASID-ASCB(R8) GET OUR ASID 00720000 STH R1,SRBPASID PURGE ASID 00730000 * 00740000 ST R9,SRBASCB TARGET ASCB TO SCHEDULE TO 00750000 * 00760000 * 00770000 LA R1,SRBCODE SRB ENTRY POINT 00780000 ST R1,SRBEP 00790000 * 00800000 LA R1,SRBCLEAN-SRBRTN(,R1) SRB PURGE ROUTINE 00810000 ST R1,SRBRMTR 00820000 * 00830000 LA R1,PARMLIST PARM LIST 00840000 ST R1,SRBPARM 00850000 * 00860000 ST R8,WAITASCB SAVE OUR ASCB ADDRESS INTO PARMLIST 00870000 * 00880000 LA R1,LOCALECB 00890000 ST R1,WAITECB 00900000 * 00910000 ST R9,XMASCB SAVE TARGET ASCB ADDRESS IN PARMS 00920000 * 00930000 * 00940009 * SCHEDULE SRB AND WAIT * 00950000 * 00960009 SCHEDULE SRB=(R7),SCOPE=LOCAL 00980000 * 01000000 WAIT 1,ECB=LOCALECB WAIT FOR SRB TO COMPLETE 01010000 * 01020000 * EVALUATE POST CODE 01050000 * 01070000 CLI LOCALECB,X'7F' CHECK FOR GOOD COMPLETION CODE 01080000 BE SUCCESS 01090000 * 01100000 CLI LOCALECB,X'41' CHECK FOR FAIL COMPLETION CODE 01110000 BE FAIL 01120000 * 01130000 WTO '*** UNKNOWN POST CODE ***',ROUTCDE=(1,11) 01140000 B CLEANUP 01150000 * 01160000 * 01170000 SUCCESS DS 0H 01180000 WTO '*** SUCCESS POST CODE ***',ROUTCDE=(1,11) 01190000 * 01200000 MVC WTOMSG+12(8),XMPGM 01210000 WTOMSG WTO '>>> ******** <<<',ROUTCDE=(1,11) 01220000 B CLEANUP 01230000 * 01240000 * 01250000 FAIL DS 0H 01260000 WTO '*** FAIL POST CODE ***',ROUTCDE=(1,11) 01270000 B CLEANUP 01280000 * 01290000 *********************************************************************** 01300000 * CLEAN UP AND EXIT * 01310000 *********************************************************************** 01320000 * 01330000 * 01340000 * 01350000 CLEANUP DS 0H 01360000 LA R4,WKLEN 01370000 * 01380000 FREEMAIN R,LV=(R4),A=(R6),SP=228 01390000 * 01400000 MODESET MODE=PROB,KEY=NZERO 01410000 * 01420000 EXIT DS 0H 01430000 SLR R15,R15 SET REGTURN CODE 01440000 L R13,4(,R13) UNCHAIN SAVE AREA 01450000 L R14,12(,R13) RESTORE R14 01460000 LM R0,R12,20(R13) RESTORE REGS 0-12 01470000 BR R14 RETURN TO CALLER 01480000 * 01490000 * 01520000 LTORG , 01530000 * 01540000 * 01550000 SAVEA DS 18F SAVE AREA 01560000 * 01570000 LOCALECB DC F'0' 01580000 * 01590000 * 01600000 DROP R6,R7,R12 01610000 * 01620000 *********************************************************************** 01640000 *********************************************************************** 01650000 * SRB ROUTINE * 01660000 *********************************************************************** 01670000 *********************************************************************** 01680000 * 01690000 SRBRTN DS 0H 01700000 LR R6,R15 SRB ROUTINE EP 01710000 USING SRBRTN,R6 01720000 * 01730000 LR R4,R1 SAVE PARM REGISTER 01740000 USING PARMLIST,R4 01750000 * 01760000 LR R9,R14 SAVE RETURN ADDRESS 01770000 * 01780000 LA R1,RTRYRTN ADDRESS OF RETRY POINT 01790000 ST R1,RETADDR SAVE FOR FRR 01800000 * 01810000 LA R3,FRREXIT ADDRESS OF FRR 01820000 SETFRR A,FRRAD=(R3),WRKREGS=(R7,R8),RELATED=(DELETE) 01830000 * 01840000 LA R10,X'41' POST 01850000 SLL R10,24 COMPLETION CODE 01860000 * 01870000 L R1,XMASCB GET XM ASCB ADDRESS 01880000 L R1,ASCBASXB-ASCB(,R1) GET ASXB ADDRESS 01890000 L R1,ASXBLTCB-ASXB(,R1) GET TCB ADDRESS 01900000 L R1,TCBJSCB-TCB(,R1) GET JSCB ADDRESS 01910000 LA R1,JSCBPGMN-IEZJSCB(,R1) POINT TO PGM NAME 01920000 MVC XMPGM,0(R1) 01930000 * 01940000 LA R10,X'7F' POST 01950000 SLL R10,24 COMPLETION CODE 01960000 * 01970000 RTRYRTN DS 0H 01980000 SETFRR D,WRKREGS=(R7,R8),RELATED=(ADD) 01990000 * 02000000 L R11,WAITECB ECB ADDRESS 02010000 LA R1,X'80' SET 02020000 SLL R1,24 HIGH-ORDER 02030000 OR R11,R1 BIT 02040000 * 02050000 LA R12,POSTERR ERROR ROUTINE 02060000 L R13,WAITASCB ASCB ADDRESS 02070000 * 02080000 L R15,CVTPTR CVT ADDRESS 02090000 L R15,CVT0PT01-CVTMAP(,R15) POST BRANCH-ENTRY 02100000 BALR R14,R15 02110000 * 02120000 * 02130000 BR R9 DONE - EXIT 02140000 * 02150000 * 02160000 SRBCLEAN DS 0H SRB PURGE ROUTINE 02170000 XC 0(SRBSIZE,R1),0(R1) 02180000 BR R14 02190000 * 02200000 * 02210000 POSTERR DS 0H POST ERROR ROUTINE 02220000 BR R14 02230000 * 02240000 * 02250000 FRREXIT DS 0H 02260000 USING FRREXIT,R15 02270000 * 02280000 L R7,RETADDR 02290000 SETRP RC=4,RETREGS=YES,RETADDR=(R7) 02300000 BR R14 02310000 * 02320000 RETADDR DC A(0) 02330000 * 02340000 * 02350000 LTORG , 02360000 * 02370000 * 02380000 DROP R4,R6 02390000 * 02400000 * 02410000 ENDSRTN EQU * 02420000 * 02430000 * 02440000 *********************************************************************** 02450000 * CSA STORAGE MAP * 02460000 *********************************************************************** 02470000 * 02480000 WKAREA DSECT , 02490000 PARMLIST DS 0F PARAMETER LIST FOR SRB ROUTINE 02500000 WAITECB DS A ADDRESS OF LOCAL ECB 02510000 WAITASCB DS A ADDRESS OF WAITING ASCB 02520000 XMASCB DS A CROSS MEM - ASCB ADDRESS 02530000 XMPGM DS CL8 PROGRAM NAME RETURN AREA 02540000 * 02550000 SRBAREA DS CL(44) 02560000 SRBCODE DS CL(ENDSRTN-SRBRTN) 02570000 * 02580000 * 02590000 WKLEN EQU *-WKAREA 02600000 * 02610000 * 02620000 PRINT OFF 02630000 CVT DSECT=YES 02640000 IHASRB , 02650000 IHAPSA , 02660000 IHAASVT , 02670000 IHAASCB , 02680000 IHAASXB , 02690000 IKJTCB DSECT=YES,LIST=NO 02700000 IEZJSCB , 02710000 IHAFRRS , 02720000 IHASDWA , 02730000 * 02740000 * 02750000 R0 EQU 0 02760000 R1 EQU 1 02770000 R2 EQU 2 02780000 R3 EQU 3 02790000 R4 EQU 4 02800000 R5 EQU 5 02810000 R6 EQU 6 02820000 R7 EQU 7 02830000 R8 EQU 8 02840000 R9 EQU 9 02850000 R10 EQU 10 02860000 R11 EQU 11 02870000 R12 EQU 12 02880000 R13 EQU 13 02890000 R14 EQU 14 02900000 R15 EQU 15 02910000 * 02920000 END , 02930000
PRINT GEN 00000109 ALET05 CSECT 00000312 ALET05 AMODE 31 00000412 ALET05 RMODE 24 00000512 STM R14,R12,12(R13) 00000602 LR R12,R15 00000702 USING ALET05,R12 00000803 * 00000902 LA R1,SAVEA 00001003 ST R13,4(,R1) 00001103 ST R1,8(,R13) 00001203 LR R13,R1 00001303 * 00001402 *********************************************************************** 00001502 * GET INTO SUP STATE, KEY ZERO * 00001602 *********************************************************************** 00001702 * 00001802 * 00001902 MODESET MODE=SUP,KEY=ZERO 00002002 * 00002102 * 00002202 *********************************************************************** 00002302 * SET UP CSA STORAGE * 00002402 *********************************************************************** 00002502 * 00002602 L R8,CVTPTR CVT ADDRESS 00003702 L R8,0(,R8) PSATNEW 00003802 L R10,4(,R8) CURRENT TCB ADDRESS 00003902 L R8,12(,R8) CURRENT ASCB (OURS) 00004002 * 00004102 * GET ASCB ADDRESS FOR USER ADDRESS SPACE 00004211 * 00004302 * 00004802 L R9,CVTPTR AДPEC CVT 00004902 L R9,CVTASVT-CVTMAP(R9) AДPEC ASVT (CПИC AДP ПPOCTP) 00005002 L R2,ASVTMAXU-ASVTPRFX(R9) KOЛ-BO AДP-X ПPOCTP-B 00005102 MOV3 TM ASVTENTY-ASVTPRFX(R9),X'80' ИД AДP. ПPOCTP-BA CBOБOДEH ? 00005202 BO MOV4 ДA. CЛEД. ЭЛ-HT ASVT 00005302 L 14,ASVTENTY-ASVTPRFX(R9) AДP. ASCB 00005402 L 1,ASCBJBNI-ASCBEGIN(14) AДP. ИMEHИ ЗAДAHИЯ ПOД INIT 00005502 CLC 0(8,1),=CL8'USER1 ' ЭTO ИMЯ ЗAДAHИЯ AБ-TA ? 00005602 BE MOV5 ДA. 00005702 L 1,ASCBJBNS-ASCBEGIN(14) AДP. ИMEHИ ЗAДAHИЯ ПO START 00005802 CLC 0(8,1),=CL8'USER1 ' ЭTO ИMЯ ЗAДAHИЯ AБ-TA ? 00005902 BE MOV5 ДA. 00006002 MOV4 LA R9,4(R9) CЛEД. ЭЛ-HT ASCB 00006102 BCT R2,MOV3 BCE ЭЛ-TЫ ASCB ? 00006202 B CLEANUP ЗАДАНИЕ НЕ НАЙДЕНО 00006302 MOV5 EQU * 00006402 LR R9,R14 00006502 ******************************************************* 00006603 * R14 - АДРЕС ASCB КЛИЕНТА 00006703 * ----------------------------------------------------- 00006803 * SETUP ENVIRONMENT 00006903 * ----------------------------------------------------- 00007003 LAM AR0,AR15,=16F'0' SET ALL ARS TO ZERO 00007104 * ----------------------------------------------------- 00008003 * GET ALET OF REMOTE ADDRESS SPACE 00009003 * ----------------------------------------------------- 00010003 USING ASSB,R11 00011003 L R11,ASCBASSB-ASCBEGIN(R14) LOAD REMOTE ASSB ADDR 00012003 * 00012111 MVC USRSTKN(8),ASSBSTKN 00012210 ALESERV ADD,STOKEN=USRSTKN,ALET=USRALET,CHKEAX=NO 00013010 DROP R11 00013103 LTR R15,R15 CHECK RETURN CODE 00013203 BNZ CLEANUP IF UNSUCCESSFUL SKIP OUT 00013306 * 00013713 LAM AR3,AR3,USRALET STORE ALET IN AR3 00013804 SAC 512 INTO AR MODE 00013903 SYSSTATE ASCENV=AR TELL MACROS ARE IN AR MODE 00014003 * 00014303 LR R3,R9 GET XM ASCB ADDRESS 00014407 L R3,ASCBASXB-ASCB(,R3) GET ASXB ADDRESS 00014508 L R3,ASXBLTCB-ASXB(,R3) GET TCB ADDRESS 00014608 L R3,TCBJSCB-TCB(,R3) GET JSCB ADDRESS 00014708 LA R3,JSCBPGMN-IEZJSCB(,R3) POINT TO PGM NAME 00014808 MVC XMPGM,0(R3) 00014908 SAC 0 OUT OF AR MODE 00015203 SYSSTATE ASCENV=P TELL MACROS OUT OF AR MODE 00015303 * 00015413 * CLEANUP ACCESS REGISTERS AND ALET 00015503 * 00015613 LAM AR3,AR3,=F'0' CLEAR AR3 00015704 ALESERV DELETE,ALET=USRALET,CHKEAX=NO 00015803 SUCCESS DS 0H 00015902 WTO '*** SUCCESS ALET CODE ***',ROUTCDE=(1,11) 00016013 * 00016102 MVC WTOMSG+12(8),XMPGM 00016202 WTOMSG WTO '>>> ******** <<<',ROUTCDE=(1,11) 00016302 B CLEANUP 00016402 * 00016502 * 00016602 *********************************************************************** 00016702 * CLEAN UP AND EXIT * 00016802 *********************************************************************** 00016902 * 00017002 * 00017102 * 00017202 CLEANUP DS 0H 00017302 MODESET MODE=PROB,KEY=NZERO 00017402 * 00017502 EXIT DS 0H 00017602 SLR R15,R15 SET REGTURN CODE 00017702 L R13,4(,R13) UNCHAIN SAVE AREA 00017802 L R14,12(,R13) RESTORE R14 00017902 LM R0,R12,20(R13) RESTORE REGS 0-12 00018002 BR R14 RETURN TO CALLER 00018102 * 00018202 LTORG , 00018602 * 00018702 * 00018802 SAVEA DS 18F SAVE AREA 00018902 USRALET DS F 00019003 XMPGM DS CL8 00019104 USRSTKN DS CL8 00019210 * 00020002 * 00027502 PRINT OFF 00027602 CVT DSECT=YES 00027702 * IHASRB , 00027803 IHAPSA , 00027902 IHAASVT , 00028002 IHAASCB , 00028102 IHAASSB , 00028203 IHAASXB , 00028303 IKJTCB DSECT=YES,LIST=NO 00028403 IEZJSCB , 00028503 * IHAFRRS , 00028603 IHASDWA , 00028703 * 00028803 * 00028903 R0 EQU 0,,,,GR 00029204 R1 EQU 1,,,,GR 00029304 R2 EQU 2,,,,GR 00029404 R3 EQU 3,,,,GR 00029504 R4 EQU 4,,,,GR 00029604 R5 EQU 5,,,,GR 00029704 R6 EQU 6,,,,GR 00029804 R7 EQU 7,,,,GR 00029904 R8 EQU 8,,,,GR 00030004 R9 EQU 9,,,,GR 00030104 R10 EQU 10,,,,GR 00030204 R11 EQU 11,,,,GR 00030304 R12 EQU 12,,,,GR 00030404 R13 EQU 13,,,,GR 00030504 R14 EQU 14,,,,GR 00030604 R15 EQU 15,,,,GR 00030704 * 00030803 AR0 EQU 0,,,,AR 00030905 AR1 EQU 1,,,,AR 00031005 AR2 EQU 2,,,,AR 00031105 AR3 EQU 3,,,,AR 00031205 AR4 EQU 4,,,,AR 00031305 AR5 EQU 5,,,,AR 00031405 AR6 EQU 6,,,,AR 00031505 AR7 EQU 7,,,,AR 00031605 AR8 EQU 8,,,,AR 00031705 AR9 EQU 9,,,,AR 00031805 AR10 EQU 10,,,,AR 00031905 AR11 EQU 11,,,,AR 00032005 AR12 EQU 12,,,,AR 00032105 AR13 EQU 13,,,,AR 00032205 AR14 EQU 14,,,,AR 00032305 AR15 EQU 15,,,,AR 00032405 END 00033004 |
Категория: Утилиты | Добавил: AKonev
|
Просмотров: 1429 | Загрузок: 0
|
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|