mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-03 09:55:20 +00:00
Commit DCMCP transcription as of 2012-11-24; Processor doublePrecisionAdd and normalization/rounding improvements to singlePrecisionAdd.
This commit is contained in:
@@ -16353,3 +16353,109 @@ COMMENT JOB WILL BE RUN ONLY IF: 20160300
|
||||
% * ***** ***** ***** ***** ***** * ***** 20167100
|
||||
% * * * * * * * * * * * * 20167200
|
||||
% ***** * * * * ***** * * * ***** ***** 20167300
|
||||
20167400
|
||||
JARSPACE: 20167500
|
||||
20167600
|
||||
IDLETIME; 20167650
|
||||
% FIND A MIX SLOT FOR THIS JOB 20167700
|
||||
FOR MIX:=1 STEP 1 UNTIL MIXMAX DO 20167800
|
||||
IF JAR[MIX,*]=0 THEN GO LOAD; 20167900
|
||||
20168000
|
||||
% NO FREE SPACE IN JAR: PASS ENTRY WITHOUT DELINKING AND CONTINUE 20168100
|
||||
L:=2; 20168150
|
||||
GO TO PASS; 20168200
|
||||
20168700
|
||||
% * ***** ***** **** *** ***** ***** 20168800
|
||||
% * * * * * * * * * * * * 20168900
|
||||
% * * * ***** * * * ***** ***** 20169000
|
||||
% * * * * * * * * * * * * * 20169100
|
||||
% ***** ***** * * **** **** * * * * 20169200
|
||||
20169300
|
||||
LOAD: 20169400
|
||||
20169500
|
||||
JARROW[MIX] := IOQUE & HDR[CTC]; % FILE HEADER BECOMES JAR ROW 20169600
|
||||
M[HDR-2].[9:6] := MIX; % PLACE MIX INDEX IN MEMORY LINK 20169800
|
||||
M[HDR-2].[3:6] := JARROWAREAV; %167-20169900
|
||||
CORE.[FF] := CORE.[FF] + T; % ADD IN CORE ESTIMATE 20170600
|
||||
$ SET OMIT = NOT(PACKETS) 20170700
|
||||
IF(I:=S[23].[2:6]) GEQ 32 THEN PSEUDOMIX]MIX]:=I; % PSUEDO-RDR JOB 20170800
|
||||
$ POP OMIT % PACKETS 20170900
|
||||
JAR[MIX,0] := S[0]; 20171000
|
||||
JAR[MIX,1] := S[1]; 20171100
|
||||
JAR[MIX,2]:=S[2]&(IF (NT1:=S[2].[8:10])=5 THEN 2 ELSE NT1)[8:38:10];20171200
|
||||
% IF THIS IS A "RUN" JOB, CHANGE IT TO SAY "EXECUTE" 20171300
|
||||
% JAR[MIX,2].[8:10] = SHEET[2].[8:10] = 20171400
|
||||
% 0 = "GO" PART OF COMPILE AND GO 20171500
|
||||
% 1 = COMPILE AND GO 20171600
|
||||
% 2 = EXECUTE 20171700
|
||||
% 3 = COMPILE FOR SYNTAX 20171800
|
||||
% 4 = COMPILE TO LIBRARY 20171900
|
||||
5 5 = RUN JOB 20172000
|
||||
STREAM(A:=JAR[MIX,3].[30:18], D:=[DT]); % CREATION DATE FROM HDR 20172100
|
||||
BEGIN 20172200
|
||||
SI:=LOC A; DS:=8DEC; 20172300
|
||||
END; 20172400
|
||||
$ SET OMIT = NOT(NEWLOGGING) 20172499
|
||||
PROCTIME[MIX] := -(JAR[MIX,3]:=S[16]); % PROCESS LIMIT %127-20172600
|
||||
IOTIME [MIX] := -(JAR[MIX,4]:=S[17]); % I/O LIMIT %127-20172700
|
||||
STREAM(DATE, A:=[I]); % CONVERT DATE TO OCTAL FOR LOGGING 20172800
|
||||
BEGIN 20172900
|
||||
SI:=LOC DATE; DS:=8OCT; 20173000
|
||||
END; 20173100
|
||||
JAR[MIX,5]:=(XCLOCK+P(RTR)) & I[1:25:23]; % DATE AND TIME 20173200
|
||||
JAR[MIX,6] := S[6]&S[23][2:2:6]; % CARD/PSEUDO RDR. UNITNO IN [2:6] 20173300
|
||||
JAR[MIX,7] := 0; % IDLETIME ENTRY 20173800
|
||||
JAR[MIX,9].[FF] := 0; % ZERO OUT "CHAIN" DISK ADDRESS FIELD 20173900
|
||||
% JAR[MIX,8] THROUGH JAR[MIX,29] STILL CONTAIN CONTENTS OF 20174100
|
||||
% OBJECT FILE HEADER AS OBTAINED ABOVE 20174200
|
||||
JAR[MIX,9] := M[HDR INX 9].[CF] & MCPJOB[6:45:3] & 20174300
|
||||
(S[2].[4:1] AND NOT(S[2].[2:1] OR AUTOMESS))[2:47:1]; 20174400
|
||||
% S[2].[4:1]=1 MEANS SUPPRESS BOJ/EOJ MESSAGES 20174500
|
||||
% MARK JAR[9] WITH JOB CODE (1,3 OR 5 FOR SYS JOB) 20174600
|
||||
% INSURE THAT THIS JOB HAS A UNIQUE STARTING TIME (FOR LOG) 20174900
|
||||
TRYAGAIN: 20175000
|
||||
FOR I:=1 STEP 1 UNTIL MIXMAX DO 20175100
|
||||
BEGIN 20175200
|
||||
IF JARROW[1] NEQ 0 THEN % JOB RUNNING HERE 20175300
|
||||
IF I NEQ MIX THEN % NOT OUR JOB 20175400
|
||||
IF JAR[MIX,5].[24:24]=JAR[I,5].[24:24] THEN % SAME START TIME 20175500
|
||||
BEGIN 20175600
|
||||
JAR[MIX,5].[24:24]:=JAR[MIX,5].[24:24]+1; % BUMP THE TIME 20175700
|
||||
GO TRYAGAIN; 20175800
|
||||
END; 20175900
|
||||
END; 20176000
|
||||
% %127-20176003
|
||||
% ***** ***** ***** ***** ***** ***** ***** %127-20176006
|
||||
% * * * * * * * * * %127-20176009
|
||||
% ***** ***** * ** * ***** ***** * * %127-20176012
|
||||
% * * * * * * * * * * %127-20176015
|
||||
% ***** ***** ***** ***** ***** * * ***** %127-20176018
|
||||
% %127-20176021
|
||||
IF F NEQ 0 THE % SHEET ENTRY PASSED AS A PARAMETER %127-20176024
|
||||
BEGIN %127-20176027
|
||||
IF SEG0 NEQ 0 THEN FORGETSPACE(SEG0); %127-20176030
|
||||
SEG0 := S & S[7][CTC]; % CEG. ZERO PRESENT AT CORE ADDR. "S[7]" 20176033
|
||||
END %127-20176036
|
||||
ELSE %127-20176039
|
||||
BEGIN %127-20176042
|
||||
IF SEG0 = 0 THEN % %127-20176045
|
||||
M[(SEG0:=ARRAYDESC(30,SEGZEROAREAV)) INX NOT 1].AREAMIXF:=0;20176048
|
||||
DISKWAIT(-(SEG0 INX 0),30,M[HDR INX 10]); % READ SEGMENT ZERO 20176054
|
||||
END; % IF SEGMENT ZERO WAS NOT PRESENT %127-20176057
|
||||
% %127-20176060
|
||||
% ***** ***** ***** ***** * * ***** ***** ***** 20176063
|
||||
% * * * * * * * * * * * * * 20176066
|
||||
% ***** * ***** * *** ***** ***** ***** * 20176069
|
||||
% * * * * * * * * * * * * 20176072
|
||||
% ***** * * * ***** * * * * * * 20176075
|
||||
% %127-20176078
|
||||
% S[21] CONTAINS STACK SIZE, SEG0[3] CONTAINS PRT SIZE %127-20176081
|
||||
IF SEG0[3] GTR 0 THEN % NOT A RESTART JOB %127-20176084
|
||||
BEGIN %127-20176087
|
||||
NFO[(MIX-1)|NDX+2] := (STACKLOC:=GETSPACE % %167-20176090
|
||||
(SEG0[3] INX S[21] INX 64,STACKPRTAREAV,3))+2; % %167-20176093
|
||||
IF STACKLOC = 0 THEN % NO MEMORY %127-20176096
|
||||
BEGIN %127-20176099
|
||||
NG: JARROW[MIX] := L := 0; % %127-20176102
|
||||
CORE.[FF] := CORE.[FF] - T; % %127-20176105
|
||||
$ SET OMIT = NOT(PACKETS) %127-20176117
|
||||
|
||||
Reference in New Issue
Block a user