.TITLE LENGTH .SBTTL LENGTH FUNCTION FOR FORTRAN (OPTIMIZED) .GLOBL LENGTH ; ; CALL: ; ; I = LENGTH(S1) ; ; WHERE S1 IS THE USUAL STRING ARGUMENT; ; LENGTH RETURNS LENGTH UP TO AND INCLUDING TERMINATOR. ; IF LENGTH IS 1 (NULL STRING), RETURNS 0. ; LENGTH: CLR R0 ;CLEAR COUNT REGISTER MOV 2(R5),R2 ;POINT TO S1 1$: INC R0 ;COUNT TSTB (R2)+ ;LOOK FOR NULL BNE 1$ CMP #1,R0 ;NULL STRING? BNE LRET CLR R0 ;YES--RETURN 0 LRET: RTS PC ;WITH COUNT IN R0 .END