.TITLE LSHIFT -- LOGICAL SHIFT ; CALLED FROM FORTRAN BY: ; VALUE = LSHIFT ( ARG , COUNT ) ; FUNCTION VALUE RETURNED IS THE VALUE OF THE FIRST ARGUMENT SHIFTED BY THE ; NUMBER OF BITS SPECIFIED BY THE SECOND ARGUMENT ( POSITIVE ==> LEFT SHIFT, ; NEGATIVE ==-> RIGHT SHIFT) R0 = %0 R1 = %1 AP = %5 PC = %7 .GLOBL LSHIFT LSHIFT: TST (AP)+ MOV @(AP)+,R0 MOV @(AP)+,R1 BEQ RET BMI RSHIFT 1$: ASL R0 DEC R1 BNE 1$ RTS PC RSHIFT: CLC ROR R0 INC R1 BNE RSHIFT RET: RTS PC .END