*DECK C$ABTCM 
          IDENT  C$ABTCM
          TITLE  C$ABTCM - ALL LITERAL TO BOOLEAN BIT COMPARE 
**        C$ABTCM - ALL LITERAL TO BOOLEAN BIT COMPARE
* 
*         INPUT 
*                X1 - BYTE OFFSET LITERAL 
*                X2 - BYTE OFFSET ITEM
*                B3 - ADDRESS LITERAL 
*                B4 - ADDRESS ITEM
*                B5 - BYTE LENGTH LITERAL 
*                B6 - BIT LENGTH ITEM 
*         OUTPUT
*                B3 - ZERO IF EQUAL, NON-ZERO IF UNEQUAL
          ENTRY  C.ABTCM
 C.ABTCM  DATA   0
          BX6    X1 
          SA6    LITOFFS
          BX7    X2 
          SA7    ITEMOFFS 
          SX6    B3 
          SA6    LITADDR
          SX7    B4 
          SA7    ITEMADDR 
          SX6    B5 
          SA6    LITLEN 
          SX7    B6 
          SA7    ITEMLEN
          SB6    B5          SET LENGTHS EQUAL LITERAL LENGTH 
 ABTCM1   RJ     =XC.BTDCM
          NE     B3,B0,C.ABTCM     NOT EQUAL
          SA1    LITLEN 
          SA2    ITEMLEN
          IX0    X1-X2
          PL     X0,C.ABTCM  DONE WITH COMPARE, EQUAL RETURN
          BX7    -X0
          SA7    A2          DECREMENT ITEM LENGTH
          SB5    X1 
          SB3    X7 
          LT     B5,B3,ABTCM2 
          SB5    B3          USE REMAINING ITEM LENGTH
 ABTCM2   SB6    B5 
          SA2    ITEMOFFS 
          SX0    6
          PX1    B0,X1
          PX0    B0,X0
          NX0    B0,X0
          FX0    X1/X0
          UX1    B7,X0
          LX1    B7,X1       LITLEN / 6 
          IX2    X1+X2       INCREMENT BYTE OFFSET
          BX7    X2 
          SA7    A2 
          SA1    LITOFFS
          SA3    LITADDR
          SB3    X3 
          SA4    ITEMADDR 
          SB4    X4 
          EQ     ABTCM1 
          SPACE  3
 ITEMADDR BSS    1
 ITEMLEN  BSS    1
 ITEMOFFS BSS    1
 LITADDR  BSS    1
 LITLEN   BSS    1
 LITOFFS  BSS    1
          END 
