From b152b4d8adfc0c0f213cfc54931d7666d3ef550c Mon Sep 17 00:00:00 2001 From: Paul Kimpel Date: Fri, 14 Sep 2012 13:50:10 +0000 Subject: [PATCH] Commit DCMCP transcription as of 2012-09-14. --- SYMBOL/DCMCP.esp_m | 101 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/SYMBOL/DCMCP.esp_m b/SYMBOL/DCMCP.esp_m index 5cda748..0f3030a 100644 --- a/SYMBOL/DCMCP.esp_m +++ b/SYMBOL/DCMCP.esp_m @@ -11382,3 +11382,104 @@ PROCEDURE ZIPPER(A,B,C);VALUE A,B,C; REAL A,B,C; FORWARD; 14342100 END; 14358389 END; 14358390 END; IF VECTOR[2].[5:1] THEN SOFTI ~ SOFTI-1; 14358391 + IF (TSKA~PRT[P1MIX,TSX]).PBIT THEN 14358392 + BEGIN IF TSKA[6]=1 THEN TSKA[7]:=1; 14358393 + IF (I:=TSKA[5]) NEQ 0 THEN BEGIN I:=[PRT[P1MIX,I]] INX 0; 14358394 + DELINKIT;WHILE(I:=M[I].[8:10]) NEQ 0 DO 14358395 + BEGIN I:=[PRT[P1MIX,I]]INX 0;DELINKIT END END; 14358397 + IF (I~TSKA[8].[CF])!0 THEN % SOFTWARE INTERRUPTS DECLARED 14358398 + BEGIN IF NOT TSKA[8].[4:1] THEN 14358400 + SLEEP([TSKA[8]],@200000000000000); 14358450 + TSKA[8].[4:1] ~ 0; 14358460 + DO % DETACH SOFTWARE INTERRUPTS 14358550 + BEGIN IF (ABSEVT~PRT[P1MIX,I].[FF])!0 THEN 14358580 + BEGIN WHILE NOT M[ABSEVT].[5:1] DO 14358582 + ABSEVT ~ M[ABSEVT].[FF]; 14358584 + IF M[ABSEVT]}0 THEN 14358586 + SLEEP([M[ABSEVT]],@2000000000000000);14358588 + M[ABSEVT] ~ P(LOD,DUP,SSP); 14358590 + T ~ (K~PRT[P1MIX,I]).[FF]; 14358595 + A ~ [PRT[P1MIX,I]] INX 0; 14358597 + WHILE M[T].[FF]!A DO T ~ M[T].[FF]; 14358598 + M[T].[FF] ~ K.[FF]; 14358600 + M[ABSEVT] ~ P(DUP,LOD,SSN); 14358605 + END; 14358610 + I ~ PRT[P1MIX,I].[CF]; 14358615 + END UNTIL I=0; 14358620 + TSKA[8].[4:1] ~ 1; 14358625 + END; 14358630 + TSKA[3]:=-1; 14358640 + END; 14358650 + END; 14358700 + JAR9 := VECTOR[9]; 14358710 + CHAIN ~ 0&VECTOR[9][FTC]&VECTOR[1][1:1:1]; VECTOR[9].[FF] ~ 0; 14358800 + $ SET OMIT = NOT(BREAKOUT) 14358999 + IF VECTOR[2]<0 THEN % COBOL 14360100 + IF VECTOR[1]>0 THEN % NOT DS-ED 14360200 + WHILE PRT[P1MIX,16]>0 DO ASR;%CLEAN OUT AIT 14360300 + IF VECTOR[1]>0 THEN % NOT DS-ED 14360310 + FOR MOMMIX:=6 STEP 5 UNTIL 11 DO 14360320 + BEGIN Q:=NFLAG(PRT[P1MIX,MOMMIX]); % AIT OR OAT ENTRY 14360330 + IF Q.[2:1] THEN % PRESENT, GRAB ADDRESS FROM LINK 14360340 + Q := Q & M[Q INX NOT 0];[FTC]; 14360350 + IF Q.[33:3]=7 THEN % AUXILIARY MEMORY IN THE ACT 14360360 + DISKRTN(Q.[CF], Q.[8:10]); 14360370 + IF VECTOR[2]<0 THEN MOMMIX:=11; % COBOL HAS NOT OAT 14360380 + END; 14360390 + SLEEP([OLAYMASK],MOMMIX~TWO(P1MIX)); 14360400 + OLAYMASK ~ NOT MOMMIX AND OLAYMASK; 14360500 + MOTHER ~ DALOC[P1MIX,0].[CF]; 14360600 + NEXTMOM := -1; S := DALOCROW[P1MIX]; 14360700 + WHILE (NEXTMOM := NEXTMOM+2) 0 THEN % IN USE AREA %167-14364100 + IF T.AREAMIXF = P1MIX THEN % IN USE BY THIS MIX 14364200 + IF MOTHER AND (P(T.AREATYPEF,DUP) = CODEAREAV 14364300 + OR P(XCH) = SEGDICTAREAV) THEN % GIVE CODE 14364400 + M[I].AREAMIXF := NEXTMOM % TO NEW MOM %167-14364500 + ELSE %167-14364600 + FORGETSPACE(I INX 2); %167-14364700 + I := T.AREAFWDLINKF; %167-14364800 + END;% 14367000 + INTABLEROW[P1MIX] ~ 0;% 14367100 + $ SET OMIT = NOT(BREAKOUT) 14367199 + $ SET OMIT = NOT(BREAKOUT) 14367999 + IF NEXTMOM!0 THEN BEGIN% 14370010 + IF MOTHER THEN% 14370020 + IF PRT[NEXTMOM,4].[24:6]=@77 THEN% 14370030 + NFO[(NEXTMOM-1)|NDX+1] ~% 14370035 + PRT[NEXTMOM,4] ~ (*P(DUP))&0[18:18:15]% 14370040 + ELSE BEGIN MOTHER ~ NEXTMOM;% 14370050 + DO UNTIL (MOTHER ~ (PRT[MOTHER,4] ~% 14370060 + NFO[(MOTHER-1)|NXD+1] ~% 14370065 + (*P(DUP))&NEXTMOM[18:42:6]).[24:6])=@77;% 14370070 + END% 14370080 + ELSE BEGIN% 14370090 + IF (PRT[MOMMIX,4].[24:6]=P1MIX) AND% 14370100 + NEXTMOM=@77 THEN NFO[(MOMMIX-1)|NDX+1] ~% 14370110 + PRT[MOMMIX,4] ~ (*P(DUP))&0[18:18:15]% 14370115 + ELSE BEGIN% 14370120 + DO BEGIN MOTHER ~ MOMMIX; 14370130 + MOMMIX ~ PRT[MOMMIX,4].[24:6];% 14370140 + END UNTIL MOMMIX=P1MIX;% 14370150 + NFO[(MOTHER-1)|NDX+1] ~% 14370155 + PRT[MOTHER,4] ~% 14370160 + (*P(DUP))&NEXTMOM[24:42:6];% 14370165 + END END;% 14370170 + NFO[(P1MIX-1)|NDX+1] ~% 14370180 + PRT[P1MIX,4] ~ (*P(DUP))&0[18:18:15];% 14370190 + END;% 14370200 + $ SET OMIT = NOT(AUXMEM) 14370299 + IF VECTOR[2].[8:10]! 0 THEN% 14371000 + $ SET OMIT = STATISTICS 14371999 + FORGETSPACE(DIRECTORYSEARCH(ABS(VECTOR[0]),IF VECTOR[0]<0 14372000 + THEN "DISK " ELSE ABS(VECTOR[1]),13)); 14373000 + $ POP OMIT 14373001