diff lib/alib/bin_asc.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/bin_asc.as	Sat Jan 26 17:18:24 2013 -0600
@@ -0,0 +1,40 @@
+******************************************
+
+* Binary word to ASCII string conversion
+
+* OTHER MODULES NEEDED: none
+
+* ENTRY: D = binary value
+*        X = buffer for 16 bit number
+
+* EXIT: all registers (except cc) preserved
+
+ nam Convert # to Ascii String
+ ttl Assembler Library Module
+
+
+ section .text
+
+BIN_ASC:
+ pshs a,b,x save registers
+ pshs a,b save data again
+ ldb #16 total bits to convert
+ andcc #%11111110 clear CARRY to start
+
+binas1
+ lda #'0 get ASCII 0
+ rol 1,S get hi bit in LSB to carry
+ rol ,S and into MSB; is it 1 or 0?
+ bcc binas2 0, skip
+ inca get ASCII 1
+
+binas2
+ sta ,x+ put it in the buffer
+ decb done all bits?
+ bne binas1 no, loop
+ clr ,x mark end of string
+ leas 2,s clean up
+ puls a,b,x,pc restore & return
+
+ endsect
+