· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› опять я с опкодами ........

<< . 1 . 2 . 3 . 4 .

Посл.отвђт Сообщенiе


Дата: Янв 12, 2004 08:47:27

The Svin, читаю сейчас твой opcode.zip/bitfield.txt. Вот несколько мыслей:

> Bits S and D come always with bit W

А вот и неправда :)
опкод 100011d0 не имеет бита w

> Bit W always in place of last bit of code block byte (bit[0]).
> Bits S and D in place of second bit (bit[1])

ну можно же сказать что в опкоде 1011wreg это бит w?

и еще забавная вещь - посреди английского текста русское слово "пример" :)


Дата: Янв 12, 2004 09:50:21

Да это обе ошибки. Излишняя тяга к обобщениям была поначалу.
Давно замечены. Гуляют варианты с исправлениями и без.
Видно на wasm попал вариант с ошибкой.
С битов w можно по разному понимать что, например блок кода не может включать reg тогда под блоком кода будет пониматься битовое поле а не байт и выражение будет в целом правильным. Но здесь употреблено block byte и конечно же это неправильно. И это видно, что мне известно из моей же статьи movregimm.
Я хочу это всё переписывать по новому, но вообще не исправлять а создавать другую доку\буку по другому построенную. Спасибо, что внимательно читаешь.


Дата: Янв 12, 2004 11:19:53

Кстати, пример с 10011d0 некорректный и формат представлен неправильно. Гораздо лучше было бы сказать о подгруппе 1111111х где при части кодов в codr разрешается бит w а при части - нет.


Дата: Янв 12, 2004 14:10:00

Народ, я все больше убеждаюсь, что ноосфера все-таки есть - всю ночь чего-то делаю, днем захожу на форум, а тут как раз это и обсуждают :))
Вот сегодня как раз трахался с опкодом 0C7h

The Svin
С7 это код группы... в поле codr для mov это поле = 000.
Спасибо за наводку. Сегодня ночью я немного облажался - дизассемблер подвел.
Delphi, IDA, hiew абсолютно нормально декодируют все возможные варианты поля codr, хотя на проце, как ты сказал, а я сейчас проверил, нормально выполняется только 000.


Дата: Янв 12, 2004 15:23:43

...в список "недалеких" дизассемблеров также попадает borg.
А вот olly - молодец, все понял правильно.
Может кто проверить на сайсе опкод db 0C7h,0C8h,0,0,0,0, что он скажет (должен заругаться), а то под рукой нету.


Дата: Янв 12, 2004 23:58:27

Я SENу уже написал про баг в Hiew, обещал исправить к следующей версии. Пока он обещания выполнял.


Дата: Янв 14, 2004 23:05:51

сори за долгое отсутствие ( с нетом пролемы :((( ) вобщем опкод я взял с какойто проги чесно щас не вспомню :( я просто открыл какуюто и там отрыл
щас вплотную занимаюсь опкодами :)))
The Svin спасибо за дельные обучалки :))))


Дата: Янв 15, 2004 05:11:55

The Svin
Вот еще одна errata: в конце где говорится "только эти 8 инструкций" не перечислена CMP

лучше было бы сказать о подгруппе 1111111х

вот именно этого в твоей методе я (и скорее всего все остальные) и не понимаю. Каким образом ты выбираешь представителя группы?

Тебе говорят, ты говоришь о "новой статье"... Каков прогресс? :)

Max

А теперь рекомендую помедитировать над опкодом 8F.
Начни с 8F FF


Дата: Янв 15, 2004 16:05:44

captain cobalt
Начни с 8F FF
Здорово!
Опять никто правильно не понимает, кроме olly.

Кто нибудь, проверьте это в айсе, ну нету у меня его щас, а то бы сам давно проверил...

З.Ы. Интересная фишка от дизасма получается - ставим SEH, пишем db 08Fh, 0FFh (типа pop edi) и привет :)
Правда в olly это не прокатит, в айсе - незнаю, зато ИДА курит...

З.З.Ы. А никто не разбирался с сорцами дизасма olly?
Такие варианты там в таблице опкодов зашиты, или валидность инструкции проверяется некоей отдельной процедурой?
В borg'е например, "неинтересные" биты просто игнорируются, что и приводит к "правильному" дизассемблированию неправильных инструкций.


Дата: Янв 17, 2004 09:29:26


Каким образом ты выбираешь представителя группы?

Группа имеет единый формат. Входящие блоки, нахождение полей, если вкратце.

Тебе говорят, ты говоришь о "новой статье"... Каков прогресс? :)

Забавная у тебя позиция :) Ты что хочешь спросить то?
Статью новую хочешь почитать? О группах?
Если фигурально выражаешься про то что "я говорю о новой статье", то видимо читал несколько предложений по этому поводу написанных мной.
Ладно, я попытаюсь прояснить это туманное дело ещё раз:
1.Откуда эти статьи на сайте?:
На форуме у нас возникали часто вопросы по строению опкода, которые легко было прояснить с помощью учебных программок. Сами эти программки были написаны для наглядного разъяснения других постов (на Win32asmcommunity) касающихся опкода. Поскольку я заманался в каждом посте посылать их уже на эту борду, то я попросил группу HI-TECH положить их куда-то на сайт, чтобы можно было давать ссылки.
Т.е. моё лично предложение касалось именно программок, но вместе с ними положили ещё и статейки, которые нашлись.
Я сопротивлятся не стал, хотя подчёркиваю - хотел только положить программки.

2. Буду ли я исправлять, изменять, редактировать эти статьи?
Нет. Причины я объяснял уже.

3. Будут ли новые статьи и когда?

У меня несколько месяцев назад, возникло желание переписать всё заново, и вообще сделать это в другом стиле и духе. Единственное что оставить - это уже написанные обучалки, дополнив их новыми.
Но переодически возникает желание - дописать всё таки и этот цикл. Или дописать цикл в этом духе а потому уже заново написать буку "начиствовую".
И я как буриданов осёл, между тремя морковками, незнаю за что взяться.
Тем не менее что можно сказать если цикл будет продолжаться в том виде как есть:
В нём до сих пор объяснялись общие блоки входящие в опкод,
и назначение и примеры\упражнения с ними в реальном опкоде. Так например рассказано что такое modr/m и расширение в 16и 32х битных кодах и их "расширение", в частности написан и полный универсальный декодер modrm которые сюда на борду был запощён.
В любом случае, новые статьи будут о ещё неописанных "общих составляющих" типа до конца про использование непосредственных операндов (была только вводная статья),
про tttn, про ESC коды в формате FPU опкода, про спец. регистры и т.д. и т.п.
И только после этого всего будут статьи "обобщения" в частности и о группах и об зарезервированных инвадидных кодах, и о поведении процессора в различных ситуациях связанных с декодированием опкода.
Как я уже сказал, "торможение прогресса" связано было с тем что у меня полетел винт со всеми многолетними библами,
и в частности наработками для новых статей, и ещё нужно поднятся из некоторой "подавленности" от того что многое заново по второму кругу нужно писать.
Человек я немолодой, семейный, ну у кого язык поднимется что я не леплю "новых статей" как пельмени, после всего этого?
Ты?
Если такой умный - напиши сам. Я искренне пожелаю тебе удачи.
Пока я скажу одно, в любом случае у обучалок в разделе Образовательных программок есть собственная ценность, и они способствуют ускорению понимания строения опкода и способности его "читать" и "писать".
Поэтому я сделал то, что в пределах моих скромных возможностей - обучалки положены в раздел Образовательные программы.
Исчерпывают ли статьи и обучалки все вопросы связанные с опкодом? Нет. Но для начала, как "вводная" должны очень помочь, проверенно на взрослых и детях, включая тех у кого наблюдалась "опкодофобия".
Когда напишутся новые - не знаю.
Может быть если я пойму, что кому-то эти новые обучалки и статьи нужны - это меня подтолкнёт.
Успехов :)

<< . 1 . 2 . 3 . 4 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039