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