perm filename DMPCOM.SAI[S,AIL] blob
sn#000852 filedate 1971-07-08 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 BEGIN "DMPCOM"
00004 ENDMK
⊗;
BEGIN "DMPCOM"
DEFINE GFLN(ST1,ST)="OUTSTR(""ST1""); ST←INCHWL";
INTEGER ARRAY A,C[1:128], B[1:6];
INTEGER I,J,K; STRING S,T,U;
INTEGER E,F;
PROCEDURE OPENIN(INTEGER CHANNEL; STRING S);
BEGIN "OPENIN"
OPEN(CHANNEL,"DSK",12,12,0,0,I,E);
LOOKUP(CHANNEL,S,F); IF F THEN USERERR(0,0,"I QUIT");
FILEINFO(B);
J←(-(B[4] ROT 18))%128;
IF ¬K∨J<K THEN K←J
END "OPENIN";
WHILE TRUE DO BEGIN "LOOP" LABEL GOOD,BAD;
K←0;
GFLN(FILE 1,S); OPENIN(1,S);
GFLN(FILE 2,S); OPENIN(2,S);
FOR I←1 STEP 1 UNTIL K DO BEGIN "A BLOCK"
ARRYIN(1,A[1],128);
ARRYIN(2,C[1],128);
START_CODE "FAST COMP" LABEL LUP,DUN;
MOVEI 1,128;
JRST DUN;
LUP: MOVE 2,A[1](1);
CAME 2,C[1](1);
JRST BAD;
DUN: SOJGE 1,LUP;
JRST GOOD;
END "FAST COMP";
BAD: FOR J←1 STEP 1 UNTIL 128 DO
IF A[J]≠C[J] THEN
OUTSTR(CVOS((I-1)*128+J-1)&"/ "&
CVOS(A[J])&" "&CVOS(C[J])&'15&'12);
GOOD:
END "A BLOCK";
RELEASE(1); RELEASE(2);
END "LOOP"
END "DMPCOM";