*COMDECK PBCOMPARE
******************************
*                            *
*        PBCOMP              *
*  COMPARE BLOCKS OF CORE    *
*                            *
******************************
*              NON-RECURSIVE
*              NON-INTERRUPTABLE
************************************************************************
*                                                                      *
**OVERVIEW- PBCOMP IS A BOOLEAN FUNCTION THAT COMPARES TWO             *
*           BLOCK OF CORE, RETURNING A TRUE IF EQUAL AND               *
*           A FALSE IF NOT EQUAL.                                      *
*                                                                      *
**INPUT- START ADDRESSES OF THE TWO BLOCKS TO COMPARE AND THE          *
*          NUMBER OF WORDS TO COMPARE.                                   *
*                                                                      *
**OUTPUT- SEE OVERVIEW.                                                *
*                                                                      *
**EXTERNAL SUBROUTINES- NONE                                           *
*                                                                      *
************************************************************************
         NAM   PBCOMP 
         ENT   PBCOMP 
         EXT   QTOPSK    GLOBAL INT COUNT 
* 
         EQU   TRUE(1),FALSE(0) 
* 
PBCOMP   NOP   0         ENTRY POINT
         IIN   0         INHIBIT INTERRUPTS 
         LDQ*  (PBCOMP) 
         LDA   0,Q       STORE 1ST COMPARE
         STA*  ADDR1     ADDRESS LOCALLY
         RAO*  PBCOMP    BUMP TO NEXT PARAM 
         LDQ*  (PBCOMP) 
         LDA   0,Q       STORE 2ND COMPARE
         STA*  ADDR2     ADDRESS LOCALLY
         RAO*  PBCOMP    BUMP TO NEXT PARAM 
         LDQ*  (PBCOMP) 
         LDQ   0,Q       PUT COMPARE COUNT IN Q 
         INQ   -1        DECREMENT TO MAKE IT A DISPL 
         RAO*  PBCOMP    BUMP PAST LAST PARAM 
COMPARE  LDA*  (ADDR1),Q COMPARE EACH WORD                               31OCT75
         SUB*  (ADDR2),Q
         SAZ   2         EQUAL
         ENA   FALSE     UNEQUAL- GET OUT 
         JMP*  OUT
         DQP   *-COMPARE DECREMENT COMPARE COUNT
         ENA   TRUE      COMPARE EQUAL
OUT      LDQ   QTOPSK 
         SQN   1         CHECK GIC
         EIN   0         ENABLE INTERRUPTS
         JMP*  (PBCOMP)  EXIT 
ADDR1    NUM   0         COMPARE ADDRESS 1
ADDR2    NUM   0         COMPARE ADDRESS 2
         END
