diff lib/alib/datestr.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
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/alib/datestr.as	Sat Jan 26 17:18:24 2013 -0600
@@ -0,0 +1,56 @@
+*****************************************
+
+* Convert a date to a string. This can be used
+* for converting the system time as well as
+* modify/create dates from files. The date must
+* be 6 bytes -- null pad file dates.
+
+
+* OTHER MODULES NEEDED: BIN_ASC
+
+* ENTRY: X=binary date
+*        Y=buffer for ascii
+
+* EXIT: all registers preserved (except cc)
+
+ nam Get ASCII Date
+ ttl Assembler Library Module
+
+
+ section .text
+
+DATESTR:
+ pshs d,x,y,u
+ leau delims,pcr
+
+loop
+ bsr get1 convert a byte
+ lda ,u+ get next delimiter
+ sta ,y+ add to ascii buffer
+ bne loop not end yet
+ puls d,x,y,u,pc
+
+get1
+ ldb ,x+ get next byte to convert
+ clra only doing one byte value
+ pshs x save ptr to date packet
+ leas -8,s buffer for ascii number
+ tfr s,x
+ lbsr BIN_DEC convert
+ ldd ,x get ascii
+ tstb 1byte number?
+ bne get2 no
+ tfr a,b
+ lda #'0 leading "0"
+
+get2
+ std ,y++ to buffer
+ leas 8,s
+ puls x,pc
+
+delims
+ fcc '// ::'
+ fcb 0
+
+ endsect
+t