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";