Como converter string de dígitos hexadecimais para o valor que representa em Lua

Estou lendo várias linhas de dados hexadecimais. Eles vêm como strings e eu os analiso para códigos de linha que me dizem o que fazer com o restante dos dados. Uma linha define a palavra mais significativa de um endereço (MSW), outra linha define a menos significativa (LSW).

Em seguida, preciso concatená-los para que, se o endereço MSW = "00ff" e LSW = "f10a" fosse 00fff10a.

Isso tudo correu bem, mas eu deveria verificar se o endereço estava entre um determinado conjunto de valores:

if address <= "007FFFh" and address >= "000200h" then
    print "I'm in"
end

Como todos vocês provavelmente sabem, Lua não é fã disso, pois isso me dá um erro ao usar<= e>= com strings.

Se houver uma maneira de converter a string em hexadecimal, de modo que "FFFF" se torne 0xFFF

questionAnswers(1)

yourAnswerToTheQuestion