|
|
| Посл.отвђт | Сообщен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 опкода, про спец. регистры и т.д. и т.п. И только после этого всего будут статьи "обобщения" в частности и о группах и об зарезервированных инвадидных кодах, и о поведении процессора в различных ситуациях связанных с декодированием опкода. Как я уже сказал, "торможение прогресса" связано было с тем что у меня полетел винт со всеми многолетними библами, и в частности наработками для новых статей, и ещё нужно поднятся из некоторой "подавленности" от того что многое заново по второму кругу нужно писать. Человек я немолодой, семейный, ну у кого язык поднимется что я не леплю "новых статей" как пельмени, после всего этого? Ты? Если такой умный - напиши сам. Я искренне пожелаю тебе удачи. Пока я скажу одно, в любом случае у обучалок в разделе Образовательных программок есть собственная ценность, и они способствуют ускорению понимания строения опкода и способности его "читать" и "писать". Поэтому я сделал то, что в пределах моих скромных возможностей - обучалки положены в раздел Образовательные программы. Исчерпывают ли статьи и обучалки все вопросы связанные с опкодом? Нет. Но для начала, как "вводная" должны очень помочь, проверенно на взрослых и детях, включая тех у кого наблюдалась "опкодофобия". Когда напишутся новые - не знаю. Может быть если я пойму, что кому-то эти новые обучалки и статьи нужны - это меня подтолкнёт. Успехов :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039 |