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

Discussion in 'WASM.BEGINNERS' started by SparK, Feb 3, 2008.

  1. SparK

    SparK New Member

    Blog Posts:
    0
    Joined:
    Jan 29, 2008
    Messages:
    11
    прочитал статью по структуре команд INTEL только там не описаны 4, 5, 6, 7 биты.
    - Скажите как эти биты ставятся, или где можно про это прочитать?

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

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

    Asvald New Member

    Blog Posts:
    0
    Joined:
    Sep 18, 2006
    Messages:
    58
    Не все так просто, загляни сюда http://www.wasm.ru/toollist.php?list=22 и почитай 'opcodes book' the svin'a
     
  3. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    Заклинания Кода прочитай. на васме в сатьях есть. на русском лучше не видел.
     
  4. CrazyFun

    CrazyFun New Member

    Blog Posts:
    0
    Joined:
    Sep 26, 2005
    Messages:
    129
    судя по приведенной побой схеме там содрежится код операции?
     
  5. SparK

    SparK New Member

    Blog Posts:
    0
    Joined:
    Jan 29, 2008
    Messages:
    11
    да но не для всех команд, я так понял что в зависимости от команды код операции может выставляться еще и 2, 3 битами.
     
  6. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    а так же 0 и 1.
     
  7. EvilPhreak

    EvilPhreak New Member

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