ASMB,Q
      HED ISA S61.1 LOGICAL SHIFT ROUTINE  92067-1X519 REV.2001 
***************************************************************** 
*                                                               * 
*  (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS       * 
*  RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,        * 
*  REPRODUCED OR TRANSLATED TO ANOTHER PROGRAMMING LANGUAGE     * 
*  WITHOUT THE PRIOR WRITTEN CONSENT OF THE HEWLETT-PACKARD     * 
*  COMPANY.                                                     * 
*                                                               * 
***************************************************************** 
* 
*    NAME:  ISHL  
*  SOURCE:  92067-18519 
*   RELOC:  PART OF 92067-12002 
*    PGMR:  J.S.W 
* 
* 
* 
*  CALL FORMAT: 
*   I= ISHL(M,N)
* 
*    WHERE
*     M = NUMBER TO BE SHIFTED
*     N = BIT COUNT IF POSITIVE SHIFT LEFT N BITS 
*                   IF NEGATIVE SHIFT RIGHT N BITS
* 
* 
* 
      NAM ISHL,7 92067-1X519 REV.2001 791101
      ENT  ISHL 
      EXT .ENTR,EXEC
      SUP 
      SPC 3 
OP3   NOP           NUMBER TO BE SHIFTED
NUM   NOP           NUMBER OF SHIFTS
ISHL NOP
      JSB .ENTR     FETCH PARAMETER 
      DEF OP3         ADDRESSES 
      LDA OP3,I     FETCH 
      LDB NUM,I       PARAMETER VALUES
      SSB,RSS       IF POSITIVE 
      JMP LSHFT      GO TO LEFT SHIFT 
* 
* RIGHT SHIFT 
RSHFT CLE,ERA       SHIFT RIGHT ONE PLACE 
      INB,SZB       IF AT END 
      JMP RSHFT      CONTINUE, OTHERWISE
      JMP ISHL,I     RETURN 
* 
* LEFT SHIFT
LSHFT CMB,RSS       IF ZERO NO SHIFT
LSHF1 CLE,ELA       LEFT SHIFT ONE PLACE
      INB,SZB       IF NOT FINISHED 
      JMP LSHF1      CONTINUE, OTHERWISE
      JMP ISHL,I   RETURN 
      END 
                                                                                                                                                                                                                                                    