; SUBROUTINE TO CONVERT FROM HEX TO ASCII. ; ENTRY: (A) = 8-BIT VALUE TO BE CONVERTED. ; CALL HEXCV. ; (RETURN). ; EXIT: (HL) = TWO ASCII VALUES, HIGH AND LOW. ; (A) = DESTROYED. ; (C) = DESTROYED. ; .org 0000h LD SP, 0080h ; ADDED FOR TESTING PURPOSES. LD A, 7Fh ; ADDED FOR TESTING PURPOSES. CALL HEXCV ; ADDED FOR TESTING PURPOSES. HALT ; ADDED FOR TESTING PURPOSES. HEXCV: LD C, A ; SAVE TWO HEX DIGITS. SRL A ; ALIGN HIGH DIGIT. SRL A SRL A SRL A CALL TEST ; CONVERT TO ASCII. LD H, A ; SAVE FOR RETURN. LD A, C ; RESTORE ORIGINAL. AND 0Fh ; GET LOW DIGIT CALL TEST ; CONVERT TO ASCII. LD L, A ; SAVE FOR RETURN. RET TEST: ADD A, 30h ; CONVERSION FACTOR. CP 3Ah ; TEST FOR 0 TO 9. JP M, TEST1 ; GO IF 0 TO 9 (JUMP IF MINUS). ADD A, 7 ; CORRECT FOR A TO F. TEST1: RET ; RETURN. .END