DOWNLOAD MAIN
;********************************
;** Function: byte_to_bcd
;** Purpose: Convert a single byte into two BCD digits
;** Input: A = Byte to convert (0x00-0xFF)
;** Output: A = High nibble (ASCII 0x30-0x39,0x41-0x46)
;** R0 = Low nibble (ASCII 0x30-0x39, 0x41-0x46)
;** Destroyed Registers: None
;********************************
byte_to_bcd:
MOV R0,A
ANL A,#0Fh
ADD A,#0F6h
JNC byte_to_bcd_2
ADD A,#07h
byte_to_bcd_2:
ADD A,#3Ah
XCH A,R0
SWAP A
ANL A,#0Fh
ADD A,#0F6h
JNC byte_to_bcd_3
ADD A,#07h
byte_to_bcd_3:
ADD A,#3Ah
RET
|