Структура команд

Тема в разделе "WASM.BEGINNERS", создана пользователем SparK, 3 фев 2008.

  1. SparK

    SparK New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    11
    прочитал статью по структуре команд INTEL только там не описаны 4, 5, 6, 7 биты.
    - Скажите как эти биты ставятся, или где можно про это прочитать?

    Заранее спасибо.

    P.S.
    Формат команды " Схематично" :)
    ------------------------------------------------------------------
    | | Направление | Размер |
    | Код операции ---------------------------------------
    | | Регистр |
    | ---------------------------------------------------
    | | Условие | Инверсия |
    -------------------------------------------------------------------
    | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
    ------------------------------------------------------------------
     
  2. Asvald

    Asvald New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2006
    Сообщения:
    58
    Не все так просто, загляни сюда http://www.wasm.ru/toollist.php?list=22 и почитай 'opcodes book' the svin'a
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Заклинания Кода прочитай. на васме в сатьях есть. на русском лучше не видел.
     
  4. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    судя по приведенной побой схеме там содрежится код операции?
     
  5. SparK

    SparK New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    11
    да но не для всех команд, я так понял что в зависимости от команды код операции может выставляться еще и 2, 3 битами.
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    а так же 0 и 1.
     
  7. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    SparK
    Сам формат команд полиморфичен и не имеет постоянной структуры - т.е. то что написано в шапке темы НЕ верно полностью. Все ищется по таблицам - к примеру в одних опкодах есть флаг направления в других нет. Код операции есть всегда, но его размер, может быть и байт и два байта и три байта. Поля Направление, Размер, Условие, Инверсия - все специфичные поля для разных опкодов, и узнать что в таком то опкоде есть такое то поле, а в таком то нет, можно только по самому значению опкода - это все в таблицах Intel - Instruction Set Reference (M-Z) - в конце книжки. В структуре инструкции есть постоянные элементы (но они не обязательные) - PREFIX, COP, MODRM, SIB, DISPLACEMENT, IMMEDIATE.