|
|
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: 30226 (0x7612)
Types: s3xseg
Names: »S$ECOM«
└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
└─⟦f17e99db6⟧
└─⟦this⟧ »S$ECOM«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ECOM * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 15,MODIFICATION LEVEL 0 OF 5702-SC1 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION SECOND PASS MACRO INSTRUCTION -- DEFINE * 00100000
.* OFFSETS WITHIN THE CCP COMMUNICATIONS AREA AND WORK AREAS * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . DF-YES/Y/1/NO/N/0 * 00150000
.* * 00160000
.* INDICATES WHETHER DFF PRESENT OR NOT * 00170000
.* * 00180000
.* . DP-YES/Y/1/NO/N/0 * 00190000
.* * 00200000
.* INDICATES WHETHER DPF MACHINE SUPPORTED OR NOT * 00210000
.* * 00220000
.* . MS-YES/Y/1/NO/N/0 * 00230000
.* * 00240000
.* INDICATES WHETHER MINIMUM RESIDENT SUPPORT REQUIRED OR NOT * 00250000
.* * 00252000
.* . M4-YES/Y/1/NO/N/0 * 00254000
.* * 00256000
.* INDICATES WHETHER CODE IS TO BE SUPPLIED FOR MODEL 4 * 00258000
.* * 00260000
.* * 00261000
.* CHANGE ACTIVITY - $ECOM * 00262000
.* * 00263000
.* RELEASE 14 * 00264000
.* @01 - INCR/S1411 - DANUBE BRIDGE (SUBR14) * 00265000
.* * 00265200
.* RELEASE 15 * 00265400
.* @L - INCR/S1505 - BUSY PRINTER SUPPORT * 00265600
.* * 00266000
.********************************************************************** 00270000
$ECOM &DP-,&DF-,&MS-,&M4- 00280000
.* 00290000
TABLE &DP 00300000
YES TABDF 1 00310000
Y TABDF 1 00320000
NO TABDF 0 00330000
N TABDF 0 00340000
'' TABDF 1 00350000
.* 00355000
TABLE &DF 00360000
YES TABDF 1 00370000
Y TABDF 1 00380000
NO TABDF 0 00390000
N TABDF 0 00400000
'' TABDF 1 00410000
.* 00420000
TABLE &MS 00430000
YES TABDF 1 00440000
Y TABDF 1 00450000
NO TABDF 0 00460000
N TABDF 0 00470000
'' TABDF 0 00480000
.* 00481000
TABLE &M4 00482000
YES TABDF 1 00483000
Y TABDF 1 00484000
NO TABDF 0 00485000
N TABDF 0 00486000
'' TABDF 0 00487000
.* 00488000
TEXT 00490000
.* 00500000
SPACE 2 00510000
*********************************************************************** 00520000
* C O M M U N I C A T I O N S C O N T R O L P R O G R A M * 00530000
* C O M M O N A R E A O F F S E T S * 00540000
*********************************************************************** 00550000
SPACE 2 00560000
SPACE 2 00570000
*----------- ADDRESSES OF TASK WORK AREAS ----------------------------* 00580000
SPACE 1 00590000
@CMWK EQU 0-1+2 FOR COMMUNICATIONS MGMT TASK 00600000
@KMWK EQU @CMWK+2 FOR CONSOLE MANAGEMENT TASK 00610000
@CPWK EQU @KMWK+2 FOR COMMAND PROCESSING TASK 00620000
@AMWK EQU @CPWK+2 FOR TASK IN ALLOCATION 00630000
@TMWK EQU @AMWK+2 FOR TASK IN TERMINATION 00640000
SPACE 2 00650000
*----------- ADDRESSES OF SYSTEM TASK CONTROL BLOCKS -----------------* 00660000
SPACE 1 00670000
@CMTCB EQU @TMWK+2 FOR COMMUNICATIONS MGMT TASK 00680000
@KMTCB EQU @CMTCB+2 FOR CONSOLE MGMT TASK 00690000
@TMTCB EQU @KMTCB+2 @ OF THE TERMINATION TASK TCB 00700000
@CPTCB EQU @TMTCB+2 FOR COMMAND PROC TASK 00710000
SPACE 2 00720000
*----------- SYSTEM LEVEL FLAGS --------------------------------------* 00730000
SPACE 1 00740000
$FLGA EQU @CPTCB+1 COMMON FLAG BYTE 00750000
SPACE 1 00760000
#DFFOK EQU BIT0 * 1-DFF IS SUPPORTED 00770000
* * 0-DFF IS NOT IN THIS VERSION 00780000
CPSOB1 EQU BIT1 * 1--TERMINAL SIGN ON PASSWORD 00790000
* * REQUIRED 00800000
CPSOB2 EQU BIT2 * 1--TERMINAL SIGN ON USER 00810000
* * PASSWORD REQUIRED 00820000
CPSHUT EQU BIT3 SHUTDOWN HAS BEEN REQUESTED BY 00830000
* THE CCP SYSTEM OPERATOR--USED 00840000
* BY $CC4II TO SET SPECIAL BIT IN 00850000
* EACH TP I/O RETURN CODE 00860000
CPSU EQU BIT4 CCP START UP ENTRY BIT 00870000
* * 1--INITIAL STARTUP ENTRY TO 00880000
* * COMMAND PROCESSOR 00890000
* * 0-NOT INITIAL S.U. ENTRY 00900000
#DSKFS EQU BIT5 * 1 - DISK FILE SHARING IS 00910000
* SUPPORTED. 00920000
* * 0 - FILE SHARING NOT SUPPORTED 00930000
#MODL4 EQU BIT6 * 1 - MODEL 4 SYSTEM 00933000
* * 0 - MODEL 10 SYSTEM 00936000
CPISNW EQU BIT7 * 1-INDICATES TO $CC4IS NOT TO 00940000
* ISSUE WAIT AFTER POSITNG $CC4CM 00950000
SPACE 1 00960000
$FLGB EQU $FLGA+1 SECOND SYSTEM LEVEL FLAG BYTE 00970000
#SUALL EQU BIT0 SUSPEND ALL IN EFFECT 00980000
#SUINT EQU BIT1 SUSPEND INIT IN EFFECT 00990000
#SUCMD EQU BIT2 SUSPEND COMMANDS IN EFFECT 01000000
#TDISK EQU BIT3 * 1-DISK TRACE IS ON 01010000
* * 0-DISK TRACE IS OFF 01020000
#TDOFF EQU BIT4 * 1-TRACE OFF COMMAND RECEIVED 01030000
* * 0-TRACE OFF NOT RECEIVED 01040000
* * OR HAS BEEN PROCESSED 01050000
#TDERR EQU BIT5 * 1-PERMANENT DISK I/O ERROR 01060000
* * TRACING TO DISK STOPPED 01070000
#CPCAN EQU BIT6 CCP CANCEL RECEIVED 01080000
#PUCNT EQU BIT7 * 1--PROGRAM USE COUNTING ON 01090000
* * 0--NO USE COUNTS KEPT 01100000
SPACE 1 01110000
$FLGC EQU $FLGB+1 THIRD SYSTEM LEVEL FLAG BYTE 01120000
#MTRAC EQU BIT0 1=MLTA TRACE IS ON 01130000
#BTRAC EQU BIT1 1=BSCA TRACE IS ON 01140000
#NPDFF EQU BIT2 1 - AN N.E.P. IS USING D.F.F. 01150000
#ECSUP EQU BIT3 1=ECS SUPPORTED ON THE MODEL 4 01155000
SPACE 1 01160000
$FLGD EQU $FLGC+1 FOURTH SYSTEM LEVEL FLAG BYTE 01170000
SPACE 1 01180000
#MAXUS EQU $FLGD+1 MAX NO. USER TASKS 01190000
#CURUS EQU #MAXUS+1 CURRENT NO. USER TASKS 01200000
#LSTSZ EQU #CURUS+1 SIZE OF 1ST LVL TRANSIENT LIST 01210000
SPACE 2 01220000
*----------- SYSTEM CONSTANTS ----------------------------------------* 01230000
SPACE 1 01240000
X$0000 EQU #LSTSZ+2 CONSTANT XL2'0000' 01250000
X$0001 EQU X$0000+1 CONSTANT XL2'0001' 01260000
X$0002 EQU X$0001+2 CONSTANT XL2'0002' 01270000
X$0004 EQU X$0002+2 CONSTANT XL2'0004' 01280000
SPACE 2 01290000
*----------- COMMON REGISTER SAVE AREAS ------------------------------* 01300000
SPACE 1 01310000
$CCARR EQU X$0004+2 CCP COMMON ARR SAVE AREA 01320000
$CCXR1 EQU $CCARR+2 CCP COMMON REG ONE SAVE AREA 01330000
$CCXR2 EQU $CCXR1+2 CCP COMMON REG TWO SAVE AREA 01340000
SPACE 1 01350000
*------------@ OF THE DISK I/O INTERCEPT POINTS IN CCP DISPATCHER-----* 01360000
SPACE 1 01370000
CC@DID EQU $CCXR2+2 @ OF $CC4IO DISK INTERCEPT EPA 01380000
CC@DIW EQU CC@DID+2 @ OF $CC4IW DISK INTERCEPT(WAIT) 01390000
SPACE 2 01400000
*----------- QUEUE/LIST ADDRESS POINTERS -----------------------------* 01410000
SPACE 1 01420000
@TALST EQU CC@DIW+2 @ OF PROGRAM LIST IN $CC4TA 01430000
@CDORG EQU @TALST+2 @ OF THE CONTENTS DIRECTORY LIST 01440000
@KMQTB EQU @CDORG+2 @ OF THE FIRST TCB QUEUED FOR 01450000
* CONSOLE OUTPUT 01460000
@KMRTB EQU @KMQTB+2 @ OF THE FIRST TCB QUEUED FOR 01470000
* CONSOLE INPUT CHAIN 01480000
@KMQPL EQU @KMRTB+2 START OF CONSOLE TASK PARAMETER 01490000
* LISTS (INPUT) 01500000
@SQB EQU @KMQPL+2 @ OF THE FIRST AVAILABLE SECTOR 01510000
* QUEUE BLOCK IN THE SQB LIST 01520000
@TUBQ EQU @SQB+2 @ OF THE FIRST TUB IN THE SYSTEM 01530000
@R4QUE EQU @TUBQ+2 PROGRAM REQUEST TEMPORARY HOLD 01540000
* QUE DURING NEP ALLOCATION 01550000
@TUSTG EQU @R4QUE+2 @ OF TUB'S IN STAGING NOW 01560000
@TUPST EQU @TUSTG+2 @ OF STAGED/VALIDATED/TUB QUE 01570000
@DFCT EQU @TUPST+2 @ OF THE FIRST DFCT IN THE CCP 01580000
* DFCT ADDRESS LIST 01590000
*------ADDRESSES OF THE CCP, MLTA, + BSCA TRACE ROUTINES--------------* 01600000
SPACE 1 01610000
@CTRAC EQU @DFCT+2 @ OF CCP TRACE ROUTINE $CC4TT 01620000
@MTRAC EQU @CTRAC+2 @ OF MLTA TRACE 01630000
@BTRAC EQU @MTRAC+2 @ OF BSCA TRACE ROUTINE 01640000
SPACE 1 01650000
@FSBFR EQU @BTRAC+2 @ OF THE 1ST AVAILABLE FSB ENTRY 01660000
@TNT EQU @FSBFR+2 @ OF 1ST TERMINAL NAME TABLE ENT 01670000
SPACE 2 01680000
*----------- MAIN STORAGE ALLOCATION CONTROL -------------------------* 01690000
SPACE 1 01700000
@BUFA EQU @TNT-1+2 @ OF COMM BUFFER AREA (LINE) 01710000
#NBND EQU @BUFA+1+2 @ OF COMM BUFFER AREA (LINE) 01720000
@LOBND EQU #NBND+2 @ OF INIT LO-BOUND USER AREA 01730000
@HIBND EQU @LOBND+2 @ OF HI-BOUND USER PGM AREA 01740000
SPACE 1 01750000
@GMS EQU @HIBND-1+2 @ OF COMMUNICATIONS BUFFER AREA 01760000
#TPBUF EQU @GMS+1+2 SIZE (ORIGINAL) OF TP BUFFER 01770000
SPACE 1 01780000
*------USER PROGRAM AREA CONTROL BLOCKS-------------------------------* 01790000
SPACE 1 01800000
@UPA EQU #TPBUF-1+2 @ OF USER PGM AREA 01810000
@UABGN EQU @UPA+3+2 @ OF USER PGM AREA 01820000
@UAEND EQU @UABGN+2 @ OF END OF USER PGM AREA + 1 01830000
#UMAX EQU @UAEND+2 LENGTH OF LARGEST AVAILABLE AREA 01840000
SPACE 1 01850000
*------CONSOLE BUFFER CONTROL BLOCKS----------------------------------* 01860000
SPACE 1 01870000
@KBCB EQU #UMAX+1 START OF CONSOLE BCB 01880000
SPACE 1 01890000
*---------------------------- 10 UNUSED BYTES HERE -------------------* 01900000
SPACE 1 01910000
SPACE 2 01920000
************ DISPATCHER WORK AREA ************************************* 01930000
SPACE 2 01940000
*------------ FIRST DISPATCHER FLAG BYTE -----------------------------* 01950000
SPACE 1 01960000
$DPFLG EQU @KBCB+10 FIRST DISPATCHER CONTROL BYTE 01970000
SPACE 1 01980000
DPREG EQU BIT0 * 'STORE REGISTERS' FLAG -- 01990000
* * 1--STORE ARR/XR1/XR2 INTO 02000000
* * TCB ADDR'D BY 'CURTCB' 02010000
* * 0--DO NOT STORE REGISTERS 02020000
DPDSP EQU BIT1 * 'MAKE NON-DISPATCHABLE' FLAG-- 02030000
* * 1--SET OFF 'TCBDSP' IN 02040000
* * 'TCBTSK' OF YIELDING TASK 02050000
* * 0--DO NOT MAKE YIELDING 02060000
* * TASK NON-DISPATCHABLE 02070000
DPFSMC EQU BIT3 * MUST COMPLETE FUNCTION IN 02080000
* * IN PROGRESS IF - 1 02090000
DPXSMC EQU BIT4 * DISPATCHER CONTROL FLAG BIT 02100000
* * 1--REMOVE TASK FROM SMC STATE 02110000
* * AND RETURN TO TASK ASAP 02120000
* * /I.E. TURN OFF DPTSMC/ 02130000
* * 0--NOT EXITING SMC STATTE 02140000
SPACE 1 02150000
*------------ SECOND DISPATCHER FLAG BYTE ----------------------------* 02160000
SPACE 1 02170000
$DPFLH EQU $DPFLG+1 2ND DISPATCHER CONTROL BYTE 02180000
SPACE 1 02190000
DPDSX EQU BIT0 * DSM SUPERVISOR IN USE SWITCH 02200000
* * 1--SUPERVISOR *IS* IN USE 02210000
* * 0--SUPERVISOR *NOT* IN USE 02220000
DPNTRC EQU BIT1 * DISPATCHER ENTRY TRACE CONTROL 02230000
* * 1--DO NOT TRACE THIS ENTRY 02240000
* * 0--TRACE THIS DISPATCHER ENT. 02250000
DPPOST EQU BIT2 * 0=POST TELLING DISPATCHER THAT 02260000
* * SOMEONE IS DISPATCHABLE 02270000
* * 1=NULL SETTING 02280000
DPRIT EQU BIT3 * 'RESUME INTERRUPTED TASK' FLAG 02290000
* * 1--RESUME INTERRUPTED TASK 02300000
* * AFTER REQ'D SYSTEM TASKS 02310000
* * HAVE PROCESSED INTERRUPTS 02320000
* * 0--NO INTERRUPTED TASK 02330000
DPSMC EQU BIT4 , 1-DISPATCH ONLY COMM TASK OR 02340000
* * THE TCB WHOSE DPFSMC=1 02350000
.* 02360000
AIF (&MS EQ '1').CC300 . SKIP IF MINIMUM CORE SYSTEM 02370000
.* 02380000
DPHALT EQU BIT5 * DISPATCHER HALT BIT 02390000
* * 1--DISPATCHER IS HALTING 02400000
* * 0--DISPATCHER NOT HALTING 02410000
.* 02420000
.CC300 ANOP . CONTINUE HERE 02430000
.* 02440000
DPCI EQU BIT6 * 'CONSOLE INTERRUPT' FLAG -- 02450000
* * 1--ENTRY VIA 5471 INTERRUPT 02460000
* * 0--NO 5471 INTERRUPT 02470000
DPINT EQU BIT7 * 'INTERRUPT ENTRY' FLAG -- 02480000
* * 1--ENTRY TO DISPATCHER MADE 02490000
* * BECAUSE OF AN INTERRUPT 02500000
* * 0--ENTRY TO DISPATCHER MADE 02510000
* * BY NORMAL TASK YIELD 02520000
SPACE 2 02530000
*----------- TCB DYNAMIC ADDRESSES -----------------------------------* 02540000
SPACE 1 02550000
@CURTB EQU $DPFLH+2 @ OF THE CURRENTLY ACTIVE TCB 02560000
@PUCNT EQU @CURTB+2 @ OF PGM REQUEST COUNT TABLE 02570000
@LUSTB EQU @PUCNT+2 @ OF LAST ACTIVE USER TCB 02580000
@RITCB EQU @LUSTB+2 @ OF INTERRUPTED TCB 02590000
SPACE 2 02600000
*------------ GENERAL WORK AREA --------------------------------------- 02610000
SPACE 1 02620000
@PRL EQU @RITCB+2 @ OF COMM TASK PARAMETER LIST 02630000
#OPEND EQU @PRL+1 T-P OP END COUNT 02640000
#TT#IC EQU #OPEND+1 # OF CONSOLE INTERRUPTS SINCE 02650000
* LAST DISPATCHER ENTRY 02660000
#TT#IM EQU #TT#IC+1 # OF MLTA INT SINCE LAST ENTRY 02670000
* TO DISPATCHER 02680000
#TT#IB EQU #TT#IM+1 # OF BSCA OP ENDS SINCE LAST 02690000
* DISPATCHER ENTRY 02700000
@PCA EQU #TT#IB+2 * AL2--@ OF PGM LVL COMM AREA 02710000
@PTX EQU @PCA+2 * AL2-@ OF PCT MASTER INDEX OF 02720000
* 02730000
@PTXCS EQU @PTX+2 C/S VALUE OF PCT FILE START 02740000
@CC4WT EQU @PTXCS+2 EPA OF CCP WAIT ROUTINE 02750000
@DMP EQU @CC4WT+2 @ OF TRUE DUMP 02760000
@IOS EQU @DMP+2 @ OF @ OF TRUE IOS 02770000
@IOW EQU @IOS+2 @ OF @ OF TRUE I/O WAIT 02780000
@CPDTF EQU @IOW+2 ADDRESS OF THE FIRST SYMBOLIC 02790000
* DFCT NAME ENTRY 02800000
SPACE 1 02810000
#CCMCL EQU @CPDTF+2 MAXIMUM COMMAND BUFFER LENGTH 02820000
SPACE 1 02830000
*------DEFINE THE UNIT RECORD ALLOCATION/USAGE BYTES------------------* 02840000
SPACE 1 02850000
$DVSUP EQU #CCMCL+2 DPF DEVICE USE INDICATOR BYTE 02860000
$DVALC EQU $DVSUP+1 CCP DEVICE USE BYTE 02870000
$DVPST EQU $DVALC+1 ALLOCATION POST NEEDED BY $CC4IG 02880000
* WHEN AVAILABLE INDICATORS 02890000
SPACE 1 02900000
*------DEVICE ALLOCATION BYTE BIT DEFINITIONS-------------------------* 02910000
* EACH BIT APPLIES TO THE SAME DEVICE IN EACH BYTE * 02920000
*---------------------------------------------------------------------* 02930000
SPACE 1 02940000
$DVPRT EQU BIT5 PRINTER INDICATOR 02950000
$DVMFU EQU BIT6 MFCU INDICATOR 02960000
$DV142 EQU BIT7 1442 DEVICE INDICATOR 02970000
SPACE 1 02980000
*------END OF UNIT RECORD DEVICE ALLOCATION INDICATORS----------------* 02990000
SPACE 1 03000000
CPLPWD EQU $DVPST+1 LENGTH OF SIGN ON PASSWORD 03010000
CPPSWD EQU CPLPWD+6 CCP SIGN ON PASSWORD 03020000
SPACE 1 03030000
*------DISK CS ADDRESSES OF DSM DATA MANAGEMENT ROUTINES--------------* 03040000
SPACE 1 03050000
@CLRP EQU CPPSWD+2 @ OF PRINTER ERP ROUTINE 03060000
@CLPRT EQU @CLRP+2 @ OF 5213 DM MODULE ON MODEL 4 03065000
@CLE1 EQU @CLRP+2 @ OF MFCU ERP 03070000
@CLER EQU @CLE1+2 @ OF 1442 ERP 03080000
SPACE 1 03090000
@ODLM EQU @CLER+2 @ OF LIMITS PROCESSOR FOR 5444 03100000
@ODLT EQU @ODLM+2 @ OF LIMITS PROCESSOR FOR 5445 03110000
SPACE 1 03120000
*------USER PROGRAM DUMP AREA DISK ADDRESSES--------------------------* 03130000
SPACE 1 03140000
@CSTRT EQU @ODLT+2 DISK C/S OF DUMP AREA 03150000
#NSEC EQU @CSTRT+1 NO. SEC -1 TO DUMP 03160000
#MXDMP EQU #NSEC+1 MAX NO. DUMPS WHICH CAN BE TAKEN 03170000
#CPFLQ EQU #MXDMP+1 Q-BYTE OF $CCPFILE DEVICE 03180000
#DUMP# EQU #CPFLQ+1 NO. DUMPS TAKEN 03190000
SPACE 03200000
*------PROGRAM REQUEST UNDER FORMAT LENGTH----------------------------* 03210000
#RUFCL EQU #DUMP#+2 MAX READ UNDER FORMAT COM LEN 03215000
SPACE 03220000
#HISTT EQU #RUFCL+1 NO. ENTRIES IN STT (SW TERM TBL) 03230000
@COIH EQU #HISTT+2 ADDR CONSOLE INTERRUPT HANDLER 03240000
@TAS EQU @COIH+2 TERMINAL ATTRIBUTE SET ADDRESS 03250000
SPACE 1 03260000
@UALFA EQU @TAS+2 UNCHANGING START @ OF USER 03270000
* PROGRAM AREA 03280000
SPACE 1 03290000
#HITAS EQU @UALFA+1 HIGHEST TAS INDEX IN SYSTEM 03300000
#DFEND EQU #HITAS+2 END OF $CC4DF LOAD MODULE 03310000
#DFBEG EQU #DFEND+2 LOAD POINT OF $CC4DF 03320000
@CSSTT EQU #DFBEG+2 DISK C/S OF STT 03330000
@LCB#1 EQU @CSSTT+2 ADDRESS OF 1ST LCB IN SYSTEM 03340000
@MLTAD EQU @LCB#1+2 ADDRESS OF MLTA ADAPTER 03350000
* X'0000' INDICATES NO MLTA ADAPTR 03360000
@CKLST EQU @MLTAD+2 ADDRESS OF CHECK LIST 03370000
#PCTLN EQU @CKLST+1 LONGEST LEN PCT USED BY PGM RQST 03380000
#SETID EQU #PCTLN+1 ID OF ASSIGNMENT SET IN USE 03390000
SPACE 1 03400000
#TIMEX EQU #SETID+1 TIMER SUPPORT BYTE 03410000
TXOPND EQU BIT0 1-OP END SINCE LAST POLLING 03420000
SPACE 1 03422000
@DUB0 EQU #TIMEX+2 C/S OF TRANSIENT $$DUB0 @01 03424000
@DUB1 EQU @DUB0+2 C/S OF TRANSIENT $$DUB1 @01 03426000
SPACE 1 @L 03426500
$MVFLG EQU @DUB1+2 MOVEOUT FLAG BYTE @L 03427000
$MVOUT EQU BIT0 1-DFF/#3 LOADED IN PL1 @L 03427500
$HLDAR EQU BIT1 1-OHA ALLOCATED IN UPA @L 03428000
$MVPRT EQU BIT2 1-BSYPRT-YES @L 03428500
IIPL EQU $MVFLG+1 PRINTER 16 BYTES @L 03429000
SPACE 2 03430000
*********************************************************************** 03440000
* EXPANSION AREA FOR NEW FIELDS TO BE ADDED WITHOUT RE-ASSY * 03450000
*********************************************************************** 03460000
.* 03470000
AIF (&DF EQ '0').CC500 . SKIP IF *NO* DFF 03480000
.* 03490000
SPACE 1 03500000
SPACE 2 03510000
*---------------------------------------------------------------------* 03520000
* DISPLAY FORMATTING FACILITY WORK AREA DEFINITION * 03530000
*---------------------------------------------------------------------* 03540000
SPACE 1 03550000
@DFFIX EQU 234-2+2 C/S OF DFF FORMATS INDEX 03560000
#DFQ EQU @DFFIX+1 FDT DEVICE Q-BYTE 03570000
#DF1@ EQU #DFQ+2 @ OF LINE 1 COMM. AREA 03580000
#DF1LN EQU #DF1@+2 LENGTH (BYTES) OF DFF COMM. AREA 03590000
* FOR BSCA LINE 1 03600000
#DF1ID EQU #DF1LN+1 ID OF TASK "OWNING" SPACE IN 03610000
* DFF COMM. AREA FOR LINE 1 03620000
SPACE 1 03630000
#DF2@ EQU #DF1ID+2 @ OF LINE 2 COMM. AREA 03640000
#DF2LN EQU #DF2@+2 LENGTH (BYTES) OF DFF COMM. AREA 03650000
* FOR BSCA LINE 2 03660000
#DF2ID EQU #DF2LN+1 ID OF TASK "OWNING" SPACE IN 03670000
* DFF COMM. AREA FOR LINE 2 03680000
SPACE 2 03690000
*---------------------------------------------------------------------* 03700000
* DFF LOAD PARAMETER LIST * 03710000
*---------------------------------------------------------------------* 03720000
SPACE 1 03730000
#DFCS EQU #DF2ID+2 DISK C/S OF TEXT OF DFF MODULE 03740000
#DF#S EQU #DFCS+1 # OF SECTORS OF TEXT DATA 03750000
#DFLNK EQU #DF#S+2 LINKEDITED ADDRESS OF DFF MODULE 03760000
#DFRLD EQU #DFLNK+1 DISPLACEMENT OF RLD DATA IN 03770000
* LAST TEXT SECTOR 03780000
#DFENT EQU #DFRLD+2 ENTRY POINT @ OF DFF MODULE 03790000
#DFLOD EQU #DFENT+2 LOAD POINT OF DFF MODULE 03800000
.* 03810000
.CC500 ANOP . CONTINUE HERE 03820000
.* 03830000
SPACE 1 03840000
SPACE 1 03850000
*------------ORIGIN THE CCP TRANSIENT AREAS TO START OF CCCOM---------* 03860000
*------------PLUS 256-------------------------------------------------* 03870000
SPACE 1 03880000
TAONE EQU @CMWK-1+256 FIRST CCP TRANSIENT AREA 03890000
SPACE 1 03900000
TATWO EQU TAONE+512 SECOND CCP TRANSIENT AREA FOR 03910000
* COMMUNICATION TASK USE ONLY 03920000
.* 03930000
EJECT 03940000
.* 03950000
************ COMMAND PROCESSOR WORK AREA ****************************** 03960000
SPACE 2 03970000
$CPWK EQU TATWO+512 CMD PROC WORK AREA 03980000
#LCPWK EQU 60 LENGTH OF CMD PROC WORK AREA 03990000
SPACE 1 04000000
$CPFLG EQU $CPWK-$CPWK COMMAND PROCESSOR FLAG BYTE 04010000
$CPFR EQU BIT0 FREEMAIN TO BE DONE FOLLOWING 04020000
* CMD PROC SUBR RETURN TO MAINLINE 04030000
$CPII EQU BIT1 INVITE INPUT TO BE SCHEDULED 04040000
$CPPUT EQU BIT2 MAINLINE TO DO PUT NO-WAIT 04050000
$CPPC EQU $CPII+$CPPUT MAINLINE TO DO PUT NO-WAIT AND 04060000
* INVITE INPUT FOLLOWING SUBR 04070000
* RETURN TO MAINLINE. DATA TO 04080000
* WRITE IS IN $CPMSG AREA 04090000
$CPNEP EQU BIT3 1--NEP IN/PENDING ALLOCATION 04100000
* 0--NO NEP REQUEST PENDING 04110000
$CPR4H EQU BIT4 1--$CC4R4 REQUEST HOLD QUEUE 04120000
* CONTAINS ENTRIES FOR VALIDATION 04130000
$CPUCT EQU BIT5 CMD PROC RETURN ROUTINE IS TO 04140000
* COUNT THIS PGM REQUEST IF = 1 04150000
SPACE 1 04160000
$CPLMG EQU $CPFLG+2 LENGTH OF MESSAGE TO WRITE 04170000
$CPMSG EQU $CPLMG+1 CMD PROCESSOR MESSAGE AREA FOR 04180000
* OUTPUT TO TERMINALS 04190000
* FORMAT IS AS FOLLOWS 04200000
* NN MESSAGE TEXT 04210000
* WHERE NN IS THE MESSAGE # 04220000
* NOTE--ALSO USED TO PASS A TCB@ 04230000
* BETWEEN $CC4R1 + $CC4RC 04240000
@L1TCB EQU X'25' LINE 2 3275 SW LCBTCB @ 04243000
@L2TCB EQU @L1TCB+2 LINE 2 3275 SW LCBTCB @ 04246000
SPACE 2 04250000
************ ALLOCATION WORK AREA ************************************* 04260000
SPACE 2 04270000
$AMWK EQU $CPWK+#LCPWK ALLOCATION WORK AREA 04280000
#LAMWK EQU 40 ALLOCATION WORK AREA LENGTH 04290000
$AMEPA EQU $AMWK-$AMWK+1 ALLOCATION ENTRY @ 04300000
SPACE 1 04310000
$AMFLG EQU $AMEPA+1 ALLOCATION FLAG BYTE 04320000
$AMBSY EQU BIT0 1--ALLOCATION BUSY 04330000
* 0-NOT WORKING 04340000
$APEND EQU BIT1 1--ALLOCATION TASK POST PENDING 04350000
$AMDFF EQU BIT2 $CC4CT IS TO DO INITIAL 04360000
* POST-LOAD PROCESSING OF $CC4DF 04370000
* (I.E. CONSTANT INITIALIZATION) 04380000
$AMDPL EQU BIT3 1--DEDICATED PROGRAM IN ALLOC'N 04390000
SPACE 1 04400000
$AMNCS EQU $AMFLG+3 NCS OF ROUTINE TO BE GIVEN 04410000
* CONTROL AFTER ALLOCATION POST 04420000
$AMWMK EQU $AMNCS+3 ALLOCATION WAIT MASK SET BY 04430000
* TRANSIENT FOR RESIDENT ALLOCATE 04440000
* TO USE AS A WAIT ARGUMENT 04450000
$AMPCT EQU $AMWMK+2 @ OF PCT CURRENTLY IN ALLOCATION 04460000
$AM#LT EQU $AMPCT+1 # OF TERMINALS TO BE ALLOCATED 04470000
$AM#DA EQU $AM#LT+1 # OF DASD FILES TO ALLOCATE 04480000
$AMTCB EQU $AM#DA+2 @ OF CURRENT ALLOCATION TCB 04490000
$AMPMK EQU $AMTCB+2 ALLOCATION POST MASK 04500000
SPACE 2 04510000
************ TERMINATOR WORK AREA ************************************* 04520000
SPACE 2 04530000
$TMWK EQU $AMWK+#LAMWK TERMINATOR WORK AREA 04540000
SPACE 1 04550000
$TMFLG EQU $TMWK-$TMWK-1+1 TERMINATOR FLAG BYTE 04560000
$TMBSY EQU BIT0 1--TERMINATION TASK IS ACTIVE 04570000
* 0--TERMINATION TASK NOT BUSY 04580000
$TMDMP EQU BIT1 1--DUMP HAS BEEN TAKEN 04590000
* 0--DUMP NOT TAKEN 04600000
$TMEJ EQU BIT2 1--$CC4EJ (CCP END OF JOB) 04610000
* HAS BEEN INVOKED BY $CC4TD 04620000
* (TERMINATION CONTROL ROUTINE) 04630000
SPACE 1 04640000
$TMTCB EQU $TMFLG+2 @ OF TCB CURRENTLY BEING 04650000
* PROCESSED BY TERMINATION TASK 04660000
SPACE 1 04670000
#LTMWK EQU 40 TERMINATOR WORK AREA LENGTH 04680000
SPACE 2 04690000
************ COMMUNICATIONS MANAGEMENT WORK AREA ********************** 04700000
SPACE 2 04710000
$CMWK EQU $TMWK+#LTMWK COMM TASK WORK AREA 04720000
#LCMWK EQU 20 COMM TASK WORK AREA LENGTH 04730000
#CMDTF EQU $CMWK-$CMWK-1+2 SAVE AREA FOR DTF ADDRESS 04740000
#CMPL EQU #CMDTF+2 SAVE AREA FOR PARM LIST 04750000
#CMTMA EQU #CMPL+2 SAVE AREA FOR TERMINAL ADDRESS 04760000
#CMTFT EQU #CMTMA+1 SAVE AREA FOR TERMINAL FEATURES 04770000
#CMPTR EQU #CMTFT+2 SAVE AREA FOR PREVIOUS POINTER 04780000
#CMFPL EQU #CMPTR+2 SAVE AREA FOR FOUND PARM LIST 04790000
#CMPTX EQU #CMFPL+2 SPECIAL SAVE AREA FOR PREV PTR 04800000
#CMTUB EQU #CMPTX+2 SAVE AREA FOR TUB ADDRESS 04810000
#CMERP EQU #CMTUB+2 @ OF DTF TO BE RESCHEDULED AFTER 04820000
* BEING IN CCP ERP 04830000
#CMSWT EQU #CMERP+1 CONTROL SWITCH 04840000
#CMARR EQU BIT0 1--OK TO MODIFY TCBARR 04850000
SPACE 2 04860000
************ CONSOLE MANAGEMENT WORK AREA ***************************** 04870000
SPACE 2 04880000
AIF (&M4 EQ '0').CC600 . SKIP IF NOT MODEL 4 04885000
$KMWK EQU $CMWK+#LCMWK CONSOLE WORK AREA 04890000
#LKMWK EQU 1216 CONSOLE WORK AREA LENGTH 04900000
SPACE 04910000
#KMSWT EQU $KMWK-$KMWK-1+1 CONSOLE MGNT SWITCH 04920000
#KMBSY EQU BIT0 1-CONSOLE IS BUSY 04930000
#KMERQ EQU BIT1 1-ENABLE REQUEST KEY 04940000
#KMPFX EQU BIT2 OUTPUT PREFIX BEING PRINTED 04950000
#KMSWL EQU BIT3 1-SWALLOW NEXT OUTPUT OP END 04960000
* INDICATES NO PARM LIST TO DEQ 04970000
* THIS BIT IS SET WHEN $CC4CM ISSUES A CONSOLE REQUEST 04980000
* AND WANTS CONSOLE MANAGEMENT TO TRANSFER CONTROL FOR HIM 04990000
#KMXXE EQU BIT4 1-SET WHEN CM TRANSIENT XCTLS TO 05000000
* $CC4K9 AND RESET WHEN $CC4K9 05010000
* RETURNS TO XCTLR 05020000
#KMACT EQU BIT5 1--PREFIX MSG WITH EXCLAMATION 05030000
#KMSCH EQU BIT6 1--OUTPUT IS FROM TRANSIENT AREA 05040000
#KMIOW EQU BIT7 1-CCP MUST WAIT UNTIL COMPLETION 05050000
* OF ALL CONSOLE OUTPUT 05060000
SPACE 05070000
#KMPL EQU #KMSWT+2 CONSOLE REQUEST PARAMETER LIST 05080000
SPACE 1 @L 05080010
#KMPFA EQU #KMPL+1 BEGINNING OF OUTPUT PREFIX ARE@L 05080020
#KMPFR EQU #KMPFA REPONSE INDICATION CHARACTER @L 05080030
#KMPFT EQU #KMPFR+1 TASK ID CHARACTER @L 05080040
#KMPFC EQU #KMPFT+1 COLON @L 05080050
#KMPFP EQU #KMPFC+6 USER PROGRAM NAME @L 05080060
SPACE 2 @L 05080070
* CONSOLE IOB WORK AREA @L 05080080
SPACE 2 @L 05080090
#KMQ EQU #KMPFP+1 IOB Q BYTE @L 05080100
#KMR EQU #KMQ+1 IOB R BYTE @L 05080110
#KMSNS EQU #KMR+2 IOB SENSE BYTE @L 05080120
#KMBUF EQU #KMSNS+2 BUFFER ADDRESS @L 05080130
#KMCTL EQU #KMBUF+1 CONTROL COUNT @L 05080140
#KMFLG EQU #KMCTL+1 FLAG BYTE @L 05080150
#KMCNT EQU #KMFLG+1 RUNNING COUNT @L 05080160
SPACE 1 @L 05080170
#KMCON EQU #KMCNT+1 CONTINUE CHARACTER @L 05080180
SPACE 2 05080300
* CONSOLE SWITCHES 05080600
SPACE 05080900
#KMSW2 EQU #KMPL+1 KEYBOARD SWITCHES 05081200
#KMWAT EQU BIT0 WAIT ON DISK IOB 05081500
#KMSTP EQU BIT1 STOP DISPLAY BACKWARD 05081800
#KMENK EQU BIT2 ENABLE KEYB AFTER OP END ON CONS 05082100
#KMCMF EQU BIT3 DISPLAY 1ST LINE AFTER D COMMAND 05082400
#KMCMN EQU BIT4 DISPLAY CURRENT AFTER COMMAND 05082700
#KMSMG EQU BIT5 ISSUE START OF LOG MESSAGE 05083000
#KMTHR EQU BIT6 NEXT CONSOLE LOG POINTER WENT 05083300
* PAST CURRENT SCREEN END POINTER 05083600
#KMITO EQU BIT7 NEXT CONSOLE LOG POINTER WENT 05083900
* PAST CURRENT SCREEN START POINT 05084200
SPACE 05084500
#KMSW3 EQU #KMSW2+1 KEYBOARD SWITCHES 05084800
#KMSHD EQU BIT0 SHUTDOWN CONSOLE 05085100
* EQU BIT1 RESERVED 05085400
* EQU BIT2 RESERVED 05085700
* EQU BIT3 RESERVED 05086000
* EQU BIT4 RESERVED 05086300
* EQU BIT5 RESERVED 05086600
* EQU BIT6 RESERVED 05086900
* EQU BIT7 RESERVED 05087200
SPACE 2 05087500
* CONSOLE LOG FILE POINTERS 05270100
SPACE 05270200
#KMFST EQU #KMSW3+2 C/S OF START OF FILE 05270300
#KMFED EQU #KMFST+2 C/S OF END OF FILE 05270400
#KMFSS EQU #KMFED+3 C/S/D OF START OF CURRENT SCREEN 05270500
#KMFSE EQU #KMFSS+3 C/S/D OF END OF CURRENT SCREEN 05270600
#KMFD1 EQU #KMFSE+3 C/S/D OF 1 LINE OF DISPLAY COMD 05270700
#KMFNX EQU #KMFD1+4 C/S/DD OF NEXT AVAILABLE SPOT 05270800
SPACE 2 05270900
* DATA FIELDS PASSED TO CONSOLE MGR TO HANDLE CONSOLE REQUEST FROM 05271000
* $CC4CM TRANSIENT 05271100
SPACE 05271200
#KMCPL EQU #KMFNX+2 ADDRESS OF INFO NEEDED TO HANDLE 05271300
* THE MESSAGE TO BE PRINTED 05271400
#KMXCT EQU #KMCPL+2 C/S OF TRANSIENT TO XCONTROL TO 05271500
* AFTER PRINTING MSG 05271600
* IF C/S = 0000 - NO XCONTROL 05271700
SPACE 05271800
#KMDSP EQU #KMXCT+1 KM DISPATCHER BYTE 05271900
* IF NON-ZERO - KM IS IN CONTROL 05272000
* OF CCP SYSTEM 05272100
#KMFFF EQU #KMDSP+1 CONSOLE MANAGER SWITCH 05272200
#KMHLT EQU BIT0 1-INDICATES TO HALT ONLY ON 05272300
* NEXT HALT/SYSLOG REQUEST 05272400
#KMCMC EQU BIT1 1-INDICATES CM XSIENT MUST WAIT 05272500
* FOR CONSOLE OUTPUT COMPLETION 05272600
SPACE 2 05272700
* CONSOLE LOG FILE BUFFER ADDRESSES 05272800
SPACE 05272900
#KMBOU EQU #KMFFF+2 ADDRESS OF FILE OUTPUT BUFFER 05273000
#KMBIN EQU #KMBOU+2 ADDRESS OF FILE INPUT BUFFER 05273100
#KMBSO EQU #KMBIN+2 ADDRESS OF SCREEN OUTPUT BUFFER 05273200
SPACE 2 05273300
* CONSOLE LOG FILE IOB 05273400
SPACE 05273500
#KMIOB EQU #KMBSO+1 LEFT END OF IOB AREA 05273600
#KMIOE EQU #KMIOB+23 RIGHT END OF IOB AREA 05273700
SPACE 2 05273800
* CONSOLE DISPLAY COMMUNICATION PARAMETER LIST 05273900
SPACE 05274000
#KMDPL EQU #KMIOE+1 START OF PARAMETER LIST 05274100
#KMDPE EQU #KMDPL+16 END OF PARAMETER LIST 05274200
SPACE 2 05274300
* CONSOLE FILED LITE MASK 05274400
SPACE 1 05274500
#KMLIT EQU #KMDPE+1 FIELD LITE MASK 05274600
* LITE 1-4 NOT USED 05274700
#KMLT5 EQU BIT4 FIELD LITE 5 05274800
#KMLT6 EQU BIT5 FIELD LITE 6 05274900
#KMLT7 EQU BIT6 FIELD LITE 7 05275000
#KMLT8 EQU BIT7 FIELD LITE 8 05275100
SPACE 2 05275200
* CONSOLE WORK FIELDS 05275300
SPACE 05275400
#KMWK1 EQU #KMLIT+2 2 BYTE WORK FIELD * NOT USED 05275500
#KMWK2 EQU #KMWK1+2 2 BYTE WORK FIELD * TO PASS 05275600
#KMWK3 EQU #KMWK2+2 2 BYTE WORK FIELD * INFO BETWEEN 05275700
#KMWK4 EQU #KMWK3+2 2 BYTE WORK FIELD * ROUTINES 05275800
SPACE 2 05280000
* WORK AREA TO USE AS MOVE ROUTINE PARM LIST 05281000
SPACE 05282000
#KMMPL EQU #KMWK4+1 MOVE ROUTINE PARM LIST 05283000
#KMMTL EQU #KMWK4+2 TO FIELD LENGTH 05284000
#KMMTA EQU #KMMTL+2 TO FIELD ADDRESS 05285000
#KMMFA EQU #KMMTA+2 FROM FIELD ADDRESS 05286000
#KMMFL EQU #KMMFA+2 FROM FIELD LENGTH 05287000
SPACE 2 05288000
* CONSOLE INPUT BUFFER 05470000
SPACE 05480000
#KMBFR EQU #KMMFL+1 BEGINNING OF CONSOLE INPUT BUFR 05490000
#KMBFL EQU 80 LENGTH OF CONSOLE INPUT BUFFER 05500000
AIF (&M4 EQ '1').CC700 . SKIP IF MODEL 4 05500100
.CC600 ANOP 05500200
$KMWK EQU $CMWK+#LCMWK CONSOLE WORK AREA 05500300
#LKMWK EQU 1216 CONSOLE WORK AREA LENGTH 05500400
SPACE 05500500
#KMSWT EQU $KMWK-$KMWK-1+1 CONSOLE MGNT SWITCH 05500600
#KMBSY EQU BIT0 1-CONSOLE IS BUSY 05500700
#KMERQ EQU BIT1 1-ENABLE REQUEST KEY 05500800
#KMPFX EQU BIT2 OUTPUT PREFIX BEING PRINTED 05500900
#KMSWL EQU BIT3 1-SWALLOW NEXT OUTPUT OP END 05501000
* INDICATES NO PARM LIST TO DEQ 05501100
* THIS BIT IS SET WHEN $CC4CM ISSUES A CONSOLE REQUEST 05501200
* AND WANTS CONSOLE MANAGEMENT TO TRANSFER CONTROL FOR HIM 05501300
#KMXXE EQU BIT4 1-SET WHEN CM TRANSIENT XCTLS TO 05501400
* $CC4K9 AND RESET WHEN $CC4K9 05501500
* RETURNS TO XCTLR 05501600
#KMACT EQU BIT5 1--PREFIX MSG WITH EXCLAMATION 05501700
#KMSCH EQU BIT6 1--OUTPUT IS FROM TRANSIENT AREA 05501800
#KMIOW EQU BIT7 1-CCP MUST WAIT UNTIL COMPLETION 05501900
* OF ALL CONSOLE OUTPUT 05502000
SPACE 05502100
#KMPL EQU #KMSWT+2 CONSOLE REQUEST PARAMETER LIST 05502200
SPACE 05502300
#KMPFA EQU #KMPL+1 BEGINNIING OF OUTPUT PREFIX AREA 05502400
#KMPFR EQU #KMPFA RESPONSE INDICATION CHARACTER 05502500
#KMPFT EQU #KMPFR+1 TASK ID CHARACTER 05502600
#KMPFC EQU #KMPFT+1 COLON 05502700
#KMPFP EQU #KMPFC+6 USER PROGRAM NAME 05502800
SPACE 05502900
SPACE 05503000
* CONSOLE IOB WORK AREA 05503100
SPACE 05503200
#KMQ EQU #KMPFP+1 IOB Q BYTE 05503300
#KMR EQU #KMQ+1 IOB R BYTE 05503400
#KMSNS EQU #KMR+2 IOB SENSE BYTES 05503500
#KMBUF EQU #KMSNS+2 BUFFER ADDRESS 05503600
#KMCTL EQU #KMBUF+1 CONTROL COUNT 05503700
#KMFLG EQU #KMCTL+1 FLAG BYTE 05503800
#KMCNT EQU #KMFLG+1 RUNNING COUNT 05503900
#KMCON EQU #KMCNT+1 CONTINUE CHARACTER 05504000
SPACE 2 05504100
* DATA FIELDS PASSED TO CONSOLE MGR TO HANDLE CONSOLE REQUEST FROM 05504200
* $CC4CM TRANSIENT 05504300
SPACE 05504400
#KMCPL EQU #KMCON+2 ADDRESS OF INFO NEEDED TO HANDLE 05504500
* THE MESSAGE TO BE PRINTED 05504600
#KMXCT EQU #KMCPL+2 C/S OF TRANSIENT TO XCONTROL TO 05504700
* AFTER PRINTING MSG 05504800
* IF C/S = 0000 - NO XCONTROL 05504900
SPACE 05505000
#KMDSP EQU #KMXCT+1 KM DISPATCHER BYTE 05505100
* IF NON-ZERO - KM IS IN CONTROL 05505200
* OF CCP SYSTEM 05505300
#KMFFF EQU #KMDSP+1 CONSOLE MANAGER SWITCH 05505400
#KMHLT EQU BIT0 1-INDICATES TO HALT ONLY ON 05505500
* NEXT HALT/SYSLOG REQUEST 05505600
#KMCMC EQU BIT1 1-INDICATES CM XSIENT MUST WAIT 05505700
* FOR CONSOLE OUTPUT COMPLETION 05505800
SPACE 05505900
* CONSOLE INPUT BUFFER 05506000
SPACE 05506100
#KMBFR EQU #KMFFF+1 BEGINNING OF CONSOLE INPUT BUFR 05506200
#KMBFL EQU 82 LENGTH OF CONSOLE INPUT BUFFER 05506300
.CC700 ANOP 05506400
SPACE 2 05510000
************ TASK CONTROL BLOCK AREA ********************************** 05520000
SPACE 2 05530000
$CCEND EQU $KMWK+#LKMWK END OF CCPCOM AREA--START OF 05540000
* THE VARIABLE PART OF CCPCOM 05550000
$CCTCB EQU $CCEND BEGINNING OF CCP TCB AREA 05560000
SPACE 1 05570000
MEND 05580000