How to restrict input?

558fe5180e0e8fc922d31c23ef84d240

Hello, could anyone help me how can I make so the user could only enter numbers between 0...9 and letters a...f (A...F) on input? I have a code like this already

#MAKE_EXE#

DSEG SEGMENT 'DATA'

MSG DB 'Enter double digit hex number: $'

DSEG ENDS

SSEG SEGMENT STACK 'STACK'
DW 100h DUP(?)
SSEG ENDS

CSEG SEGMENT 'CODE'

;*******************************************

START PROC FAR

PUSH DS
MOV AX, 0
PUSH AX

; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV AH,09h
MOV DX, OFFSET MSG
INT 21h
XOR AX,AX
MOV AH,1H
INT 21H
MOV DL,AL
SUB DL,30H
CMP DL,9H
JLE M1
SUB DL,7H
M1:
MOV CL,4H
SHL DL,CL
INT 21H
SUB AL,30H
CMP AL,9H
JLE M2
SUB AL,7H
M2:
ADD DL,AL
RET
START ENDP

CSEG ENDS

END START