I'm making a x86 asm to C code emulator.. and for my parser I am up to the bracket parsing
QWORD PTR [
to ]
DWORD PTR [
to ]
WORD PTR [
to ]
BYTE PTR [
to ]
MOV X, [
to ]
LEA X, [
to ]
For now I will ignore..
MMWORD PTR[]
XMMWORD PTR[]
FWORD PTR []
TBYTE PTR []
I want to know what are all the possible mathematical arithmetic can that be placed in the brackets
Most complex I have encountered is..
[EBP+ECX*4-E0]
The reason I have to parse is to convert E0
to 0x000000E0
then 4
to 0x00000004
As far as I know +
, -
, *
are possible is \
and or /
possible too, or how about dots? .
?
I figure best way to split every instruction which contains brackets []
to get inner math.
Then split the inner math by 1 char delimiters +-*
.
I want to make sure I get them all? is division ever possible in these? or not how about XOR/OR/AND/NOT ?