1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-10 12:18:49 +00:00

Commit DCMCP transcription as of 2012-12-06.

This commit is contained in:
Paul Kimpel
2012-12-06 15:24:35 +00:00
parent ad232e586d
commit a828c87987

View File

@@ -17007,3 +17007,68 @@ COMMENT STACK NOW CONTAINS : 0 FOR IDENTIFIER & NO. OF CHRS% 20352000
2(36(IF SC=">" THEN %890-20374403
BEGIN CARDLOC~SI;DI~CARDLOC;DS~ LIT "=" END; %890-20374404
IF SC="}" THEN %890-20374405
BEGIN CARDLOC~SI;DI~CARDLOC;DS~ LIT """ END; %890-20374406
SI~SI+1;)) %890-20374407
END; %890-20374408
$ SET OMIT = NOT(PACKETS) 20374409
IF UNITNO GEQ 32 AND NOT LASTSCAN.[2:1] THEN 20374410
BEGIN STREAM(CARDLOC, I~I~SPACE(10)); 20374415
BEGIN DS~5LIT">"; 20374420
SI~CARDLOC; 2(DS~36 CHR); DS~LIT"~"; 20374425
END; SPOUTER(I,UNITNO,64); 20374430
END; 20374435
$ POP OMIT 20374436
GO TO GOGO; 20374500
END; 20374600
IF KOUNT = "1" THEN% 20375000
BEGIN LASTSCAN ~ -1; GO TO PERPER END;% 20376000
I ~ IF KOUNT ="/" THEN SLASH ELSE% 20377000
(IF KOUNT = @14 THEN QUEST ELSE% 20378000
(IF KOUNT ="," THEN COMMA ELSE% 20379000
(IF KOUNT = "=" THEN EQUAL ELSE % THIS IS AS IN SYMBOL 20380000
(IF KOUNT = "]" THEN RB ELSE 20380100
(IF KOUNT = "[" THEN RB ELSE 20380200
(IF KOUNT = "#" THEN POUND ELSE SPECI)))))); 20380500
TYPE1: SCN~I; 20381000
END SCAN ;% 20382000
PROCEDURE SEEKNAM(A,B,C,D,E,N,XLST); VALUE A,B; 20382010
REAL A,B,C,D,E,N; ARRAY XLST[*]; 20382015
BEGIN 20382020
LABEL FIND,L; 20382030
ARRAY NB[*]; 20382040
REAL I,K,T,X; INTEGER J; BOOLEAN INXLST; 20382050
INTEGER J1,J2,J3,K1,K2; 20382052
LABEL RESTART; 20382054
IF C=0 THEN 20382056
BEGIN N:=SPACE(60);-1; 20382058
J1:=J3:=0; K1:=K2:=MODULUS-1; 20382060
IF A GEQ 0 THEN J1:=K1:=(A.[6:18]+A.[24:24]) MOD MODULUS; 20382062
IF B GEQ 0 THEN J3:=K2:=(B.[6:18]+B.[24:24]) MOD MODULUS; 20382064
END ELSE 20382066
BEGIN I:=(T:=M[N]).[42:6]; 20382068
J1:=T.[36:6]; J2:=T.[30:6]; J3:=T.[12:6]; 20382070
K1:=T.[24:6]; K2:=T.[18:6]; 20382072
END; 20382074
NB:=[M[N+1]]&60[8:38:10]; 20382076
IF C NEQ 0 THEN GO TO RESTART; 20382095
FOR J1:=J1 STEP 1 UNTIL K1 DO 20382100
FOR J2:=J3 STEP 1 UNTIL K2 DO 20382110
BEGIN J:=SCRAMBLE(J1,J2); 20382120
DO BEGIN 20382130
DISKWAIT(-N-1,60,J); 20382140
FOR I:=0 STEP 3 UNTIL 57 DO 20382150
BEGIN 20382160
IF (T:=NB[I]) NEQ @14 THEN 20382165
IF (T EQV A)=NOT 0 OR A<0 THEN 20382170
IF (NB[I+1] EQV B)=NOT 0 OR B LSS 0 THEN 20382200
IF (X:=XLST.[8:10]-2) GEQ 0 THEN % EXCEPT LIST EXISTS20382220
BEGIN INXLST:=FALSE; 20382240
FOR K:=0 STEP 2 UNTIL X DO 20382260
IF (XLST[K] EQV T)=NOT 0 OR XLST[K] LSS 0 THEN 20382280
IF (XLST[K+1] EQV NB[I+1])=NOT 0 OR XLST[K+1] LSS 0 20382300
THEN BEGIN INXLST:=TRUE; 20382320
IF NOT (XLST[K].[1:1] OR XLST[K+1].[1;1]) 20382340
THEN BEGIN XLST[K]:=XLST[X]; 20382360
XLST[K+1]:=XLST[X+1]; 20382380
XLST.[8:10]:=XLST.[8:10]-2; 20382400
END; 20382420