прочитал статью по структуре команд INTEL только там не описаны 4, 5, 6, 7 биты. - Скажите как эти биты ставятся, или где можно про это прочитать? Заранее спасибо. P.S. Формат команды " Схематично" ------------------------------------------------------------------ | | Направление | Размер | | Код операции --------------------------------------- | | Регистр | | --------------------------------------------------- | | Условие | Инверсия | ------------------------------------------------------------------- | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ------------------------------------------------------------------
Не все так просто, загляни сюда http://www.wasm.ru/toollist.php?list=22 и почитай 'opcodes book' the svin'a
да но не для всех команд, я так понял что в зависимости от команды код операции может выставляться еще и 2, 3 битами.
SparK Сам формат команд полиморфичен и не имеет постоянной структуры - т.е. то что написано в шапке темы НЕ верно полностью. Все ищется по таблицам - к примеру в одних опкодах есть флаг направления в других нет. Код операции есть всегда, но его размер, может быть и байт и два байта и три байта. Поля Направление, Размер, Условие, Инверсия - все специфичные поля для разных опкодов, и узнать что в таком то опкоде есть такое то поле, а в таком то нет, можно только по самому значению опкода - это все в таблицах Intel - Instruction Set Reference (M-Z) - в конце книжки. В структуре инструкции есть постоянные элементы (но они не обязательные) - PREFIX, COP, MODRM, SIB, DISPLACEMENT, IMMEDIATE.