|
|
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: 11176 (0x2ba8)
Types: s3xseg
Names: »S$E030«
└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
└─⟦f17e99db6⟧
└─⟦this⟧ »S$E030«
MACRO 00010000
$E030 @L 00020000
GBLB &SHR DISK FILE SHARING 00030000
GBLB &PUCNT PROGRAM USE COUNTS 00040000
GBLB &SYSON CCP TERMINAL SIGN ON CHECKING 00050000
GBLB &USEON USER WRITTEN SIGN ON CHECKING 00060000
GBLB &DPF DUAL PROGRAM FEATURE 00070000
GBLB &DFF DFF SUPPORTED 00080000
GBLB &URMFU MFCU SUPPORTED 00090000
GBLB &UR142 1442 SUPPORTED 00100000
GBLB &URPRT PRINTER SUPPORTED 00110000
GBLB &UR41 3741 SUPPORTED 00120000
GBLB &MLTA MLTA T-P 00130000
GBLB &BSCA BSCA T-P ON SYSTEM 00140000
GBLB &MOD4 MODEL 4 SYSTEM 00145000
GBLB &BPRT BUSY PRINTER SUPPORTED @L 00147000
LCLC &# 00150000
TEXT 00160000
&# SETC ' ' 00170000
TITLE 'C.C.P.&#.COMMON&#.COMMUNICATION&#.AREA' 00180000
* BEGIN MACRO '$E030' 1/17/78 @L 00190000
*---------------------------------------------------------------------* 00200000
* THE FOLLOWING SYMBOL '$CCCOM' MUST BE AT RELATIVE ZERO IN * 00210000
* THE GENERATED CCP MODULE * 00220000
*---------------------------------------------------------------------* 00230000
SPACE 1 00240000
$CCCOM EQU * EQUATE FOR COMMON REFERENCE 00250000
SPACE 1 00260000
*---------------------------------------------------------------------* 00270000
* ENTRY AND EXTRN NAMES FOR FIELDS NEEDED BY OTHER, SEPERATELY * 00280000
* GENERATED OR DISTRIBUTED MODULES OF CCP * 00290000
*---------------------------------------------------------------------* 00300000
SPACE 1 00310000
EXTRN $CC4#2 00320000
ENTRY $CCCOM ENTRY FOR COMMON REFERENCE 00330000
EXTRN $CC4CM COMMUNICATION MANAGER MAINLINE 00340000
EXTRN $CC4TM TERMINATION RESIDENT ROUTINE 00350000
EXTRN $CC4CP COMMAND PROCESSOR MAINLINE 00360000
EXTRN TAIOQB TRANSIENT AREA # 1 IOB 00370000
EXTRN LTCBSV LENGTH OF TCB SAVE AREA 00380000
EXTRN CPHALT CCP HALT ROUTINE 00390000
EXTRN $CC4AM USER PROGRAM ALLOCATE ENTRY @ 00400000
EXTRN CCPSAV REG SAVE ROUTINE # 1 00410000
EXTRN CCPSV2 REG SAVE ROUTINE # 2 00420000
EXTRN CCPRET RETURN ROUTINE 00430000
EXTRN CCPRST REG RESTORE ROUTINE 00440000
EXTRN $CC4OC OPEN/CLOSE ROUTINE 00450000
EXTRN CC4TI1 TERMINATION INTERFACE 00460000
ENTRY $CC4DP TASK DISPATCHER ENTRY POINT 00470000
ENTRY $CC4IH ENTRY POINT DEFINITION 00480000
ENTRY $CC4PS 00490000
ENTRY IHFLAG FLAG BYTE IN COMMON INTERRUPT 00500000
* HANDLER 00510000
ENTRY $CC4WT DEFINE WAIT ENTRY POINT 00520000
ENTRY CC@CPT COMMAND PROCESSOR TCB @ 00530000
ENTRY CC#BMX COMM BUFFER CURRENT MAX VALUE 00540000
ENTRY CC#MCL MAXIMUM COMMAND LENGTH 00550000
ENTRY CC@CMT @ OF THE @ OF COMM TASK TCB 00560000
ENTRY CCARR COMMON ARR SAVE AREA + INPUT 00570000
* TO REGISTER SAVE 00580000
ENTRY CCXR1 COMMON XR1 SAVE FIELD 00590000
ENTRY CCXR2 COMMON XR2 SAVE FIELD 00600000
ENTRY CC0000 TWO BYTES OF ZERO EQUATE 00610000
ENTRY CC0001 TWO BYTES OF ONE ENTRY 00620000
ENTRY CC0004 TWO BYTES OF FOUR ENTRY 00630000
ENTRY CCDPFH 2ND DISPATCHER FLAG BYTE ENTRY 00640000
ENTRY CCURTB CURRENT (OR LAST) TCB TO RUN 00650000
AIF (&MLTA NE '1').NOML IS MLTA ON SYSTEM? 00660000
ENTRY TT#IM MLTA INTERRUPT COUNT 00670000
ENTRY CC@MTR @ OF MLTA TRACE INTERFACE 00680000
.NOML ANOP SKIP ENTRY IF NOT 00690000
AIF (&BSCA NE '1').NOBS IS BSCA ON SYSTEM? 00700000
ENTRY TT#IB BSCA INTERRUPT COUNT 00710000
ENTRY CC@BTR @ OF BSCA TRACE INTERFACE 00720000
.NOBS ANOP SKIP IF NOT 00730000
ENTRY CCOECT # OF T-P OP ENDS SINCE THE 00740000
* LAST OPERATION 00750000
ENTRY CC@PRL COMM TASK INPUT PARM LIST 00760000
* CHAIN START 00770000
ENTRY CCLCB1 ADDRESS OF FIRST LCB IN SYSTEM 00780000
ENTRY CCKLST ADDRESS OF THE CHECK LIST 00790000
ENTRY CCFLGA $FLGA ENTRY DEFINITION 00800000
ENTRY TA#ONE NON-COMM TASK TRANSIENT AREA 00810000
ENTRY TA#TWO COMMUNICATION TASK'S TRAN AREA 00820000
EJECT 00830000
*---------------------------------------------------------------------* 00840000
* * 00850000
* DEFINE THE CONSTANT PARAMETERS FOR THIS VERSION OF CCP * 00860000
* * 00870000
*---------------------------------------------------------------------* 00880000
SPACE 2 00890000
*------ADDRESSES OF THE FUNCTIONAL WORK AREAS-------------------------* 00900000
SPACE 1 00910000
DC AL2($CCCOM+$CMWK) @ OF COMM TASK WORK AREA 00920000
DC AL2($CCCOM+$KMWK) @ OF CONSOLE WORK AREA 00930000
DC AL2($CCCOM+$CPWK) @ OF COMMAND PROCESSOR WORK AREA 00940000
DC AL2($CCCOM+$AMWK) @ OF ALLOCATION'S WORK AREA 00950000
DC AL2($CCCOM+$TMWK) @ OF TERMINATIONS WORK AREA 00960000
SPACE 1 00970000
*------ADDRESSES OF THE CCP SYSTEM TASKS TCB'S------------------------* 00980000
SPACE 1 00990000
ORG $CCCOM+@CMTCB-1 01000000
DC AL2(TCBCOM) COMMUNICATIONS TASK TCB @ 01010000
DC AL2(TCBCOM) @ OF CONSOLE HANDLING TCB 01020000
* (COMMUNICATIONS TASK) 01030000
DC AL2(TCBTM) @ OF THE TERMINATION TCB 01040000
DC AL2(TCBCPA) COMMAND PROCESSOR TCB @ 01050000
SPACE 1 01060000
*------SYSTEM LEVEL FLAG BYTES----------------------------------------* 01070000
SPACE 1 01080000
ORG $CCCOM+$FLGA 01090000
SPACE 1 01100000
DC BL1'&DFF&SYSON&USEON.01&SHR&MOD4.0' 1ST SYS FLAG BYTE 01110000
SPACE 1 01120000
AIF (&DFF NE '1').NDFF1 DFF USED? 01130000
* BIT0 -- DFF SUPPORTED 01140000
.NDFF1 ANOP 01150000
AIF (&SYSON NE '1').NSYO1 CCP SIGN ON CHECKING? 01160000
* BIT1 -- CCP SIGN ON PASSWORD CHK 01170000
.NSYO1 ANOP 01180000
AIF (&USEON NE '1').NUSO1 USER SIGN ON CHECKING? 01190000
* BIT2 -- USER SIGN ON CHECKING 01200000
.NUSO1 ANOP 01210000
* BIT4 -- CCP STARTUP BIT 01220000
AIF (&SHR NE '1').NSHR1 FILE SHARING IN USE? 01230000
* BIT5 -- FILE SHARING USED 01240000
AIF (&MOD4 NE '1').LJ010 01242000
* BIT6 -- MODEL 4 SYSTEM 01244000
.LJ010 ANOP 01246000
.NSHR1 ANOP 01250000
SPACE 1 01260000
ORG $CCCOM+$FLGB 01270000
SPACE 1 01280000
DC BL1'0000000&PUCNT' SECOND SYSTEM FLAG BYTE 01290000
AIF (&PUCNT NE '1').NUCNT PGM USE COUNTING ? 01300000
SPACE 1 01310000
* BIT7 -- USER PROGRAM USE COUNTS 01320000
.NUCNT ANOP 01330000
SPACE 1 01340000
*------------SYSTEM CONSTANTS-----------------------------------------* 01350000
SPACE 1 01360000
ORG $CCCOM+#LSTSZ 01370000
DC AL1(LSTSIZ) # ENTRIES IN 1ST LEVEL LIST 01380000
* OF CCP TRANSIENTS 01390000
ORG $CCCOM+X$0000-1 01400000
DC XL1'00' LEFT BYTE OF X$0000 01410000
DC XL2'0001' TWO BYTES OF X'0001' AND 01420000
* THE RIGHT BYTE OF X$0000 01430000
DC XL2'0002' TWO BYTES OF X'0002' 01440000
DC XL2'0004' TWO BYTES OF X'0004' 01450000
SPACE 1 01460000
*------------DISK I/O INTERCEPT EPA'S---------------------------------* 01470000
SPACE 1 01480000
ORG $CCCOM+CC@DID-1 01490000
@CCIO DC AL2($CC4IO) @ OF DISK I/O INTERCEPT 01500000
@CCIW DC AL2($CC4IW) @ OF DISK WAIT ROUTINE OF CCP 01510000
SPACE 1 01520000
*------ADDRESS OF THE TRANSIENT DISK ADDRESS LIST---------------------* 01530000
SPACE 1 01540000
ORG $CCCOM+@TALST-1 01550000
DC AL2(TA@PGM) @ OF THE RESIDENT LIST OF 1ST 01560000
* LEVEL TRANSIENTS DISK ADDRESSES 01570000
SPACE 1 01580000
*------@ OF DUMMY TRACE ROUTINE OR TRACE TABLE IF USED----------------* 01590000
SPACE 1 01600000
ORG $CCCOM+@CTRAC-1 01610000
DC AL2($CC4TT) @ OF CCP TRACE MODULE 01620000
SPACE 01630000
*------CURRENT TASK CONTROL BLOCK (COMMAND PROCESSOR AT STARTUP-------* 01640000
SPACE 1 01650000
ORG $CCCOM+@CURTB-1 01660000
DC AL2(TCBCPA) INITIALIZED TO COMMAND PROC TCB 01670000
ORG $CCCOM+@CC4WT-1 01680000
DC AL2($CC4WT) @ OF CCP WAIT 01690000
SPACE 1 01700000
*------UNIT RECORD DEVICES DEFINED TO THIS VERSION OF CCP-------------* 01710000
SPACE 1 01720000
ORG $CCCOM+$DVSUP 01730000
SPACE 1 01740000
DC BL1'0000&UR41&URPRT&URMFU&UR142' DEVICE SUPPORT FLAG BYTE 01750000
SPACE 1 01760000
AIF (&UR41 NE '1').N3741 IS 3741 SUPPORTED? 01770000
* BIT4 -- 3741 ON SYSTEM 01780000
.N3741 ANOP 01790000
AIF (&URPRT NE '1').NPRT PRINTER SUPPORTED? 01800000
* BIT5 -- PRINTER ON SYSTEM 01810000
.NPRT ANOP 01820000
AIF (&URMFU NE '1').NMFU MFCU SUPPORTED? 01830000
* BIT6 -- MFCU ON SYSTEM 01840000
.NMFU ANOP 01850000
AIF (&UR142 NE '1').N142 1442 ON SYSTEM? 01860000
* BIT7 -- 1442 ON SYSTEM 01870000
.N142 ANOP 01880000
AIF (&DFF NE '1').NDFF3 D.F.F. TO BE BUILT? 01890000
SPACE 1 01900000
*---------------------------------------------------------------------* 01910000
* SET THE UPPER AND LOWER MODULE ADDRESS BOUNDS OF D.F.F. FOR * 01920000
* THE COMMON INTERRUPT HANDLER * 01930000
*---------------------------------------------------------------------* 01940000
SPACE 1 01950000
ORG $CCCOM+#DFEND-1 01960000
DC AL2(0) END OF DFF FOR $CC4IH TEST 01970000
ORG $CCCOM+#DFBEG-1 01980000
DC XL2'FFFF' START OF DFF FOR $CC4IH TEST 01990000
SPACE 1 02000000
.NDFF3 ANOP 02010000
AIF (&BPRT NE '1').N160 SKIP IF NOT BUSY PRINTER @L 02010900
*--------------------------------------------------------------------* 02011800
* INVITE INPUT PARAMETER LIST * 02012700
*____________________________________________________________________* 02013600
SPACE 1 @L 02014500
ORG $CCCOM+IIPL @L 02015400
DC XL2'00' @L 02016300
DC XL2'8005' SYSTEM INVITE INPUT OP CODE @L 02017200
DC 6XL2'00' @L 02018100
.N160 ANOP @L 02019000
EJECT 02020000
*---------------------------------------------------------------------* 02030000
* ENTRY NAMES AND THEIR EQUATED COUNTERPARTS IN CCP COMM * 02040000
* * 02050000
* THESE MUST BE USED WHEN MAKING A DIRECT REFERENCE TO A FIELD IN* 02060000
* $CCCOM WITH AN EXTRNAL REFERENCE. * 02070000
*---------------------------------------------------------------------* 02080000
SPACE 2 02090000
CC@CMT EQU @CMTCB+$CCCOM @ OF THE @ OF COMM TASK TCB 02100000
CC@CPT EQU @CPTCB+$CCCOM @ OF THE @ OF CMD PROC TCB 02110000
CCARR EQU $CCARR+$CCCOM COMMON ARR SAVE FIELD 02120000
CCXR1 EQU $CCXR1+$CCCOM COMMON XR1 SAVE FIELD 02130000
CCXR2 EQU $CCXR2+$CCCOM COMMON XR2 SAVE FIELD 02140000
CC0000 EQU X$0000+$CCCOM TWO BYTES OF ZERO 02150000
CC0001 EQU X$0001+$CCCOM TWO BYTES OF ONE 02160000
CC0002 EQU X$0002+$CCCOM TWO BYTES OF TWO 02170000
CC0004 EQU X$0004+$CCCOM TWO BYTES OF FOUR 02180000
CC@CMW EQU @CMWK+$CCCOM @ OF @ OF COMM TASK WORK AREA 02190000
CC@CPW EQU @CPWK+$CCCOM @ OF @ OF CMD PROC WORK AREA 02200000
CC@AMW EQU @AMWK+$CCCOM @ OF @ OF ALLOCATE WORK AREA 02210000
CC@TMW EQU @TMWK+$CCCOM @ OF @ OF TERMINATION WORK AREA 02220000
CCFLGA EQU $FLGA+$CCCOM 1ST SYSTEM FLAG BYTE 02230000
CCDPFL EQU $DPFLG+$CCCOM FIRST DISPATCHER FLAG BYTE 02240000
CCIIPL EQU IIPL+$CCCOM INVITE INPUT PARM LIST @L 02245000
CCDPFH EQU $DPFLH+$CCCOM 2ND DISPATCHER FLAG BYTE 02250000
CCURTB EQU @CURTB+$CCCOM CURRENT TASK @ 02260000
CCLUTB EQU @LUSTB+$CCCOM LAST USER TCB TO RUN 02270000
CC@PCA EQU @PCA+$CCCOM @ OF PGM LEVEL COMM AREA 02280000
CC@PTX EQU @PTX+$CCCOM @ OF PCT MASTER INDEX IN CORE 02290000
CC@DMP EQU @DMP+$CCCOM @ OF DSM DUMP 02300000
CC@IOS EQU @IOS+$CCCOM @ OF DSM DISK IOS 02310000
CC@IOW EQU @IOW+$CCCOM @ OF DSM DISK I/O WAIT 02320000
CC#BMX EQU @GMS+1+$CCCOM LARGEST FREE CORE IN COMM BUFFER 02330000
CC@KPL EQU @KMQPL+$CCCOM CONSOLE PARM LIST CHAIN START 02340000
CC#MCL EQU #CCMCL+$CCCOM MAXIMUM COMMAND LENGTH 02350000
TT#IC EQU #TT#IC+$CCCOM # OF CONSOLE INTERRUPTS 02360000
AIF (&BSCA NE '1').NBSC3 BSCA IN SYSTEM? 02370000
TT#IB EQU #TT#IB+$CCCOM # OF BSCA INTERRUPTS 02380000
CC@BTR EQU @BTRAC+$CCCOM BSCA TRACE INTERFACE 02390000
.NBSC3 ANOP 02400000
AIF (&MLTA NE '1').NMLT3 MLTA IN SYSTEM? 02410000
TT#IM EQU #TT#IM+$CCCOM # OF MLTA INTERRUPTS 02420000
CC@MTR EQU @MTRAC+$CCCOM @ OF MLTA TRACE INTERFACE 02430000
.NMLT3 ANOP 02440000
CC@PRL EQU @PRL+$CCCOM T-P PARM LIST CHAIN START 02450000
TA#TWO EQU TATWO+$CCCOM EQUATE FOR CM'S TRANSIENT AREA 02460000
CCOECT EQU #OPEND+$CCCOM # OF T-P OP ENDS 02470000
CCLCB1 EQU @LCB#1+$CCCOM ADDRESS OF FIRST LCB IN SYSTEM 02480000
CCKLST EQU @CKLST+$CCCOM ADDRESS OF CHECK LIST 02490000
SPACE 2 02500000
*------DEFINE THE LOCATION OF THE CCP TRANSIENT AREAS-----------------* 02510000
SPACE 1 02520000
ORG $CCCOM+TAONE FIRST CCP TRANSIENT AREA 02530000
TA#ONE EQU * FIRST CCP TRANSIENT AREA 02540000
* END MACRO '$E030' 02550000
MEND 02560000