:[diStorm}: diStorm 1.6.19 is out
Arkon
arkon at ragestorm.net
Tue Feb 27 18:48:36 EST 2007
Hello everyone,
Last weekend I was coding a new data structure for the instructions data
base.
The result is sparing around 12 kb in the overall size of the tables. I
still work on it, and will try to come up with more (k)bytes spared.
Changing the data structures with the limitation (/goal) that diStorm reads
every instruction in a constant time isn't an easy task.
Anyways, I got an email from rugxulo, who noticed that diStorm dropped a
REPNZ prefix for LODSB (16 bits):
0000000b (01) f2 DB 0xf2
0000000b (02) f2 a4 MOVS BYTE [DI]
At first I was sure that it's absolutely fine. Now think about it for a
moment, the zero flag will affect a MOVS?! Looking at both AMD's and Intel's
specifications you really can't know if this is a valid behavior or not. At
some point they say it's alright, and if you follow the REP prefix
description page, it seems to be invalid. After debugging the same piece of
code and seeing myself that it runs alright with REPNZ too, diStorm now
won't drop the REPNZ prefix for all string/IO instructions.
Next updates:
1) It's about time diStorm will have a unit testing phase in its build,
which I am going to write in Python. So every new build, we won't have to
check it out manually for breaks.
2) About the new DB, there is a new tool I wrote in Python which generates
all tables relevant in the insts.c file. I am going to release this tool
under the BSD license next week, more on it when it's released.
Stay tuned,
Gil
http://ragestorm.net/distorm/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ragestorm.net/pipermail/distorm_ragestorm.net/attachments/20070228/f8df1488/attachment.html
More information about the diStorm
mailing list