home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD2.img
/
d4xx
/
d403
/
rexxhostlib
/
stringasm.asm
< prev
next >
Wrap
Assembly Source File
|
1990-11-17
|
2KB
|
70 lines
* $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