.MCALL .MODULE .MODULE JMOV,VERSION=03,COMMENT=,IDENT=NO,LIB=YES ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .SBTTL JMOV - FORTRAN CALLABLE SUBROUTINE ; ; MAS .PSECT SYS$I .GLOBL $SYSLB JMOV:: CLR R0 ;INITIALIZE FOR NORMAL EXIT TST (R5)+ ;SKIP COUNT ARG MOV (R5)+,R4 ;ADDR OF OPERAND 1 MOV (R5)+,R1 ;ADDR OF OPERAND 2 MOV (R4)+,(R1)+ ;MOVE LOW PART MOV @R4,@R1 ;MOVE HIGH PART $SETR0::TST @R1 ;TEST HIGH PART BGT 10$ ;BRANCH IF >0 BLT 20$ ;BRANCH IF <0 TST -(R1) ;CHECK LOW PART BEQ 30$ ;RESULT IS 0, LEAVE R0 ALONE 10$: TST (R0)+ ;ADD 2 TO R0 20$: DEC R0 ;SUBTRACT 1 FROM R0 30$: RETURN .END