* $Revision Header * Header built automatically - do not edit! ************* * * (C) Copyright 1990 by MXM * * Name .....: StringAsm.asm * Created ..: Friday 13-Apr-90 15:56 * Revision .: 1 * * Date Author Comment * ========= ======== ==================== * 24-May-90 Olsen Added InitList function * 13-Apr-90 Olsen Created this file! * * $Revision Header ********************************************************* * * This file contains the assembly language source code for * the string routines employed by rexxhost.library. * * Now also contains the InitList macro function. * **************************************************************************** INCLUDE "exec/types.i" INCLUDE "exec/lists.i" SECTION StringAsm,CODE XDEF _StrLen XDEF _StrCpy XDEF _StrNCpy XDEF _InitList *---------------------------------------------------------------------------- _StrLen: MOVEQ #0,D0 ; Reset counter 1$ TST.B (A0)+ ; Test for 0 BEQ.S 2$ ; End of string ADDQ #1,D0 ; Increment length counter BRA.S 1$ ; Test again... 2$ RTS *---------------------------------------------------------------------------- _StrCpy: TST.B (A1) ; Empty string? BEQ.S 1$ MOVE.B (A1)+,(A0)+ ; Copy character BRA.S _StrCpy ; Check for 0 1$ MOVE.B #0,(A0) ; Null-termination RTS *---------------------------------------------------------------------------- _StrNCpy: TST.L D0 ; Legal length? BEQ.S 2$ 1$ MOVE.B (A1)+,(A0)+ ; Copy character DBRA D0,1$ ; Decrement length counter 2$ MOVE.L D0,A1 ; Null-termination MOVE.B #0,0(A0,A1) RTS *---------------------------------------------------------------------------- _InitList: NEWLIST A0 ; Perform list initialization, RTS ; and return END