what is the error?
eax isnt loaded at this point... what do you think is in it?
... normally decimal values would be using floating point unit commands (?) but for a basic straight up compare of bytes you can use integers. Ill trust you know what this is doing etc.
what are you trying to do here? It looks overly complex.