Mercurial > hg > Members > kono > nitros9-code
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