Re[5]: Определение длины машинной команды.
От: Edmond  
Дата: 23.08.02 07:00
Оценка:
D> Не понял!

Тутсы Интела есть.... Предлагал принести...


D> Такую книжку я тоже могу достать. Но мучает вопрос — полностью ли описание старых команд соответсвует новым проуам. Я знаю, что обратная совместимость и все такое... Но мне нужны все команды! Причем нужно находить длину со 100% точностью, иначе плохо будет... У меня книжка Михаила Гука есть "Процессоры...", так там вроде сказано, что у новых команд могут поменяться значения некторых полей...


Вово!!!!
И теперь Интель руководство + и всё!!! Тебе большего не надо!!!

D>>> Процессор именно так действует?


E>>Ты себя с процессором не сравнивай. Нет процессор действует не так, в некотором смысле.

E>>Там анализ уже на схемотехническом уровне идёт, а не програмном. Это конечно то же, но не то.

D> Хорошо, дизассемблеры как действуют? Подозреваю, что у них специальные базы команд, но мне так нельзя (объем большой получится). Нужен именно алгоритм. Спасибо за внимание



Ты куда убежал? Я только начал.

Вопросик интересный. А я поясняю, что не алгоримт это, а система алгоритмов.. (

Итак. Проблемма вся кроеться в том, что в Интель КОП занимает от четырёх бит до 2 байт...

При этом эти два байта -- по сути можно назвать базовым КОП (такое не в доках Интел)

Двух байтный КОП содержиться только в безоперандных сложных командах.... типа SYSENTER или что там ещё....

Однобайтные -- и часть КОП в другом байте в "тяжёлых командах", со сложной адресацией...

Поскольку архитектура такова, то и анализ проходит:

1. Сперва 4 бита -- это точно КОП!!!

2. Делаються предположения...

2.1 Выявить двухбайтный КОП легко, такие команды не многочисленны

2.2 Если это команда с однобайтным КОП..., проверить след четыре бита...

3. После того как КОП определён, будет легче..

То есть вся тонкость в определении КОП.. сдесь без мини БД или словаря не обойтись
Или, создать побитовый анализинг...

В любом случае, первый твой шаг:

Выписать все команды, ипопытаться усмотреть зависимоть в определении КОП.

Удачи...
Если появяться вопросы мыль на EdmondXASM@mail.ru
С уважением, Edmond
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.