view lib/alib/b09strlen.a @ 2765:0bd16cca86b7

Updated rules.mak for all the os9 format's to format the entire disk. People were having some issues with the disk images not being formatted to their full capacity and preventing some functions from working.
author drencor-xeen
date Thu, 17 Jan 2013 11:03:26 -0600
parents 7d70b7e1cb21
children aaba193af04f
line wrap: on
line source

**********************************

* BASIC09 String Length: find length of a BASIC09 string
*                        which can be terminated by a $ff 
*                         =or= allocated storage size

* ENTRY: X=start of string
*        D=max allocated

* EXIT: D=actual length
*       all other regs (except cc) preserved

 nam Find Basic09 String Length
 ttl Assembler Library Module


 psect B09STRLEN,0,0,0,0,0

B09STRLEN:
 pshs d,x,y
 tfr d,y max. possible size to Y

loop
 lda ,x+ get char from string
 inca this effects a cmpa #$ff
 beq exit reached terminator
 leay -1,y if string max leng, no terminator
 bne loop no yet, check more

exit
 puls d get max possible size
 pshs y unused size in memory
 subd ,s++ find actual length
 puls x,y,pc 

 endsect