*``````````````````````````````*
* HEXASC2HEX                   *
*                              *
*-                            -*
*-                            -*
* CLOBBERS:                    *
*                              *
* FLAGS:  ????----  REG: AXYM  *
*-                            -*
* CYCLES: ???                  *
* SIZE:                        *
*-                            -*
* USAGE:                       *
*                              *
*-                            -*
* ENTRY                        *
*                              *
* TOP OF STACK                 *
*                              *
* LOW BYTE OF RETURN ADDRESS   *
* HI BYTE OF RETURN ADDRESS    *
*-                            -*
* EXIT                         *
*                              *
* TOP OF STACK                 *
*                              *
* LOW BYTE OF RETURN ADDRESS   *
* HI BYTE OF RETURN ADDRESS    *
*                              *
* .Y = COUNTER; TRASH          *
* .X = COUNTER; TRASH          *
* .A = LOW BYTE OF RET ADDR    *
*                              *
* [RETURN] = STRING VALUE      *
* [RETLEN] = LENGTH OF STRING  *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
HEXASC2HEX
*
** SAVE RETURN ADDRESS
*
         PLA
         STA   RETADR
         PLA
         STA   RETADR+1
*
** GET PARAMETERS
*
         PLA
         STA   ADDR1
         PLA
         STA   ADDR1+1
*
         LDY   #1
         LDA   (ADDR1),Y
         STA   :HI
         INY
         LDA   (ADDR1),Y
         STA   :LO
*
         SEC
         SBC   #'0'
         CMP   #10        ; ASCII OFFSET
         BCC   :CONT
         SBC   #7         ; SUBTRACT LETTER OFFSET
:CONT
         STA   :LO
         LDA   :HI
         SEC
         SBC   #'0'
         CMP   #10        ; IS NUMBER?
         BCC   :C2        ; THEN DONE
         SBC   #7         ; OTHERWISE LETTER OFFSET
:C2
         STA   :HI
         ASL
         ASL
         ASL
         ASL
         ORA   :LO
*
         STA   RETURN
         LDY   #1
         STY   RETLEN
*
** RESTORE RETURN ADDRESS
*
         LDA   RETADR+1
         PHA
         LDA   RETADR
         PHA
*
         RTS              ; RETURN
*
** DATA
*
:HI      DS    1
:LO      DS    1
*
