home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
nasm20b
/
nasm_src
/
header
/
string.h65
< prev
next >
Wrap
Text File
|
1993-01-19
|
2KB
|
110 lines
.if .not .def _STRING_
_STRING_ = 1
; this is also part of STD.L65
.if .not .def _MACROS_
.include #macros
.endif
.macro _STR_DO
.if %4 & @s1
jmp *+%1+4
.byte %$1,0
DPOKE _string1,*-%1-1
.else
@DMOKE %1,_string1,%4
.endif
.if %4 & @s2
jmp *+%2+4
.byte %$2,0
DPOKE _string2,*-%2-1
.else
@DMOKE %2,_string2,[%4 & @p2] / @p2
.endif
jsr %3
.endm
.macro STRCAT
@3 .= @p1 + @p2
.if %0=3
@3 .= %3
.endif
_STR_DO %1,%2,strcat,@3
.endm
.macro STRCPY
@3 .= @p1 + @p2
.if %0=3
@3 .= %3
.endif
_STR_DO %1,%2,strcpy,@3
.endm
.macro STRCMP
@3 .= @p1 + @p2
.if %0=3
@3 .= %3
.endif
_STR_DO %1,%2,strcmp,@3
.endm
.macro _STRN_DO
.if %5 & @s1
jmp *+%1+4
.byte %$1,0
DPOKE _string1,*-%1-1
.else
DMOVE %1,_string1
.endif
.if %5 & @s2
jmp *+%2+4
.byte %$2,0
DPOKE _string2,*-%2-1
.else
DMOVE %2,_string2
.endif
@DMOKE %3,_tmp1,[%5 & @p3] / @p3
jsr %4
.endm
.macro STRNCAT
@3 .= @p1 + @p2 + @p3
.if %0=4
@3 .= %4
.endif
_STRN_DO %1,%2,%3,strncat,@3
.endm
.macro STRNCPY
@3 .= @p1 + @p2 + @p3
.if %0=4
@3 .= %4
.endif
_STRN_DO %1,%2,%3,strncpy,@3
.endm
.macro STRNCMP
@3 .= @p1 + @p2 + @p3
.if %0=4
@3 .= %4
.endif
_STRN_DO %1,%2,%3,strncpy,@3
.endm
.macro STRLEN
@3 .= @p1
.if %0=2
@3 .= %4
.endif
.if @3 & @s1
DPOKE _tmp1,%1
.else
@DMOKE %1,_string1,@3
jsr strlen
.endif
.endm
.endif