*COMDECK  COMCSBM            SET BLOCK OF MEMORY TO GIVEN VALUE 
 SBM      CTEXT  SET BLOCK OF MEMORY TO A GIVEN VALUE 
 SBM      SPACE  4,8
          IF     -DEF,QUAL$,1 
          QUAL   COMCSBM
          BASE   D
*         COMMENT COPYRIGHT CONTROL DATA SYSTEMS, INC. 1994.
 SBM      SPACE  4,8
**        SBM - SET BLOCK OF MEMORY TO A GIVEN VALUE. 
* 
*         ENTRY  (X1) = BLOCK LENGTH
*                (X6) = VALUE TO SET
*                (A6) = BLOCK FWA (WORD 1 ALREADY STORED) 
* 
*         EXIT   (X6) = UNCHANGED 
*                (X7) = (X6)
*                (A6) = BLOCK LWA 
*                (B1) = 1 
* 
*         USES   X - 1, 2, 7
*                A - 6, 7 
*                B - 1
* 
*         CALLS  NONE 
  
  
 SBM2     SA7    A6+1 
          IX1    X1-X2
          SA6    A7+B1
          PL     X1,SBM2     IF ALL OF BLOCK NOT SET
  
 SBM=     SUBR   0           ENTRY/EXIT...
          SX2    1
          NO
          BX7    -X1*X2      EXTRACT COMPLEMENT OF LSB
          SB1    X7          (B1) = 1 IF LENGTH EVEN, = 0 IF ODD
          SX1    X1-3        DECREMENT LENGTH 
          SA6    A6+B1       SET 2ND WORD IF LENGTH WAS EVEN
          LX2    1           (X2) = 2 
          SB1    1
          BX7    X6 
          PL     X1,SBM2     IF ALL OF BLOCK NOT SET
          EQ     EXIT.       EXIT...
 SBM      SPACE  4,8
          BASE   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 SBM=     EQU    /COMCSBM/SBM=
 QUAL$    ENDIF 
          ENDX
