; ; SYSLIB Module Name: SMA2HC ; Author: Richard Conn ; SYSLIB Version Number: 2.0 ; Module Version Number: 1.0 ; Module Entry Points: ; MA2HC ; Module External References: ; EN ; ; ; MA2HC -- ; STORE REG A AS 2 HEXADECIMAL CHARACTERS IN MEMORY PTED TO BY DE; ; ON INPUT, A=VALUE AND HL=PTR TO 2-BYTE BUFFER ; ON RETURN, DE PTS TO NEXT BYTE AFTER BUFFER ; EXT EN MA2HC:: XCHG ; PTR IN HL INSTEAD PUSH PSW ; SAVE A PUSH PSW CALL EN ; EXCHANGE NYBBLES CALL PAHC ; PRINT LOW-ORDER NYBBLE AS HEX POP PSW ; GET A CALL PAHC ; PRINT LOW-ORDER NYBBLE AS HEX POP PSW ; RESTORE A XCHG ; POINTER BACK IN DE RET PAHC: ANI 0FH ; MASK FOR LOW NYBBLE CPI 10 ; LETTER OR DIGIT? JC PADIG ; DIGIT IF CARRY ADI 'A'-10 ; CONVERT TO 'A'-'F' JMP PUT ; PUT IN MEMORY PADIG: ADI '0' ; CONVERT TO '0'-'9' PUT: MOV M,A ; CHAR IN MEMORY INX H ; PT TO NEXT LOCATION RET END