我想创建一个程序,如果输入值(32位十六进制)不正确,则该程序将接收新值。为此,使用ReadHex函数非常有用,但是我不知道如何检测无效字符。
我故意输入无效字符以查看对EAX寄存器所做的操作,但它只是将无效字符视为0。
EAX
ex)4FZC变为4F0C
4FZC
4F0C
我通常使用256字节查找表,将'0'转换为'9','A'转换为'F',将'a'转换为'f'转换为十六进制。其余条目可以设置为> = 0x10的值,以指示无效的十六进制输入。