diff lib/alib/parsnstr.as @ 2783:03f26e88b809 lwtools-port

Renamed files and setup for lwasm/lwlink work
author Boisy Pitre <boisy.pitre@nuance.com>
date Sat, 26 Jan 2013 17:18:24 -0600
parents lib/alib/parsnstr.a@aaba193af04f
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/alib/parsnstr.as	Sat Jan 26 17:18:24 2013 -0600
@@ -0,0 +1,37 @@
+* Parse sign bit terminated string to convert it to a
+* null terminated string. Note: if X and Y are the same
+* the existing string will be overwritten -- don't do this
+* with psects...
+
+* OTHER MODULES NEEDED: none
+ 
+* ENTRY: X=start of sign bit terminated string
+*        Y=buffer for null terminated string
+
+* EXIT: D=string size (not including null)
+*       All other regs (except cc) preserved
+
+
+ nam Parse sign-bit terminated string
+ ttl Assembler Library Module
+
+
+ section .text
+
+
+PARSNSTR:
+ pshs x
+ lbsr STRHCPY copy string
+ tfr y,x point to moved string
+ lbsr STRHLEN find length of string
+ pshs d size
+ leax d,x
+ lda ,-x get final byte
+ anda #%01111111 clear sign bit
+ clrb add null terminator
+ std ,x  
+ puls d,x,pc
+
+
+ endsect
+