|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 16, 2003 20:42:13 Где можно найти таблицу какой оператор АСМа какому коду соответствует? Например nop = 90h jmp = 0EBh ... |
|
|
Дата: Июл 16, 2003 20:51:48 "Opcodes" HLP поставляется вместе с masm32 |
|
|
Дата: Июл 17, 2003 01:38:26 Тут вот какое дело. Нет так сказать множества чисел в hex представлении отражающегося на множество инструкций. Опкод кодируется с помощью одного или нескольких блоков и блоки содержат по нескольку битовых полей. Поля же эти часто не кратны четырём, и ещё реже кратны байтам (8и). Т.е их неудобно представлять hex числами, где каждой HEX цифре соответсвует по 4е бита. Сплошь и рядом будет происходит то, что часть битов одного и того же поля входят в две разные HEX цифры в которые, помимо этого входят биты других полей. Например вот видим мы HEX код байта modr/m какой-то инструкции СE две цифры на видны C и E на самом деле битовые поля в этом байте группируются как 2:3:3. и CE следует воспринимать как 11 001 110 т.е 11 - только регистры 001 - ecx 110 - esi У формата какого нибудь конкретного опкода есть две части, 1ая - это уникальный идентификатор, вторая - общая, т.е. декодируется по правилам единым для любого опкода (обычно это части которые определяют операнды (в том числе и адреса) и размер. Чтобы понятно было о чём я говорю возьмём опкод из твоего письма, итак ты пишешь: ---------- nop = 90h ---------- На самом деле опкод 10010 000 (90h) Относится к группе опкода формата 10010 reg. Который в условных мнемониках можно записать как: xchg (e)ax,reg16/32 При этом одинаково правильно будет декодировать в мнемонику опкод 90h и как nop и как xchg (e)ax,(e)ax Это случай, когда для одной реальной вещи придумали два разных имени. (Нас тоже ведь называют иногда разными именами, при этом имея ввиду одного и того же человека) При этом любопытно ещё то, что xhcg eax,eax можно encode тоже разными способами Например с помощью байта modr/m: 87 C0 Ну ладно к нашим баранам. Уникальный идентификатор занимать может разное колличестов бит. В данном случае мы имеет формат битовых полей 5:3 5 бит уникальный идентификатор (в нашем случае 10010) 3 бита поле reg - которое содержит код регистра, в твоём примере (90) этот код 000 - т.е. код для eax. Т.е. мы имеем уникальное поле некратное четырём. Для понимания опкоды лучше представлять бинарно. Общие части при этом писать условными обозначениями. Вот маленькая обучалка, которая демонстрирует вышесказанное. _1452828225__regfield.zip |
|
|
Дата: Июл 17, 2003 09:06:38 |
|
|
Дата: Июл 17, 2003 10:45:16 The Svin Чёрт побъяри (упал, очнулся, гипс)!!! Супер!!! А у Вас много такого добра? |
|
|
Дата: Июл 17, 2003 14:56:44 Самая актуальная на данный момент информация, надо полагать, находится в мануалах у производителя. http://www.intel.com/design/pentium4/manuals/ Первые два тома. Там про это написано подробно, хотя, как говорят, и не слишком понятно. |
|
|
Дата: Июл 17, 2003 17:47:06 А у Вас много такого добра? Конкретно по опкоду? Есть ещё три. Каждая фокусирует внимание на какой-то определённой проблеме(ах), связанной со строением опкода. Послать? |
|
|
Дата: Июл 17, 2003 17:47:39 А у Вас много такого добра? Конкретно по опкоду? Есть ещё три. Каждая фокусирует внимание на какой-то определённой проблеме(ах), связанной со строением опкода. Послать? |
|
|
Дата: Июл 17, 2003 18:03:10 Да. Но не собствено это, сколько собственно письмо. :) (Всё равно какое. Хотя я могу и сам посмотреть ваш мыл мне сейчас как-то не до того :)) |
|
|
Дата: Июл 17, 2003 21:02:42 Собственно письмо? Письмо я прямо тут и написал. |
|
|
Дата: Июл 18, 2003 10:39:18 The Svin ОК. Но я немного про другое. Хорошо, ждите от меня письмицо. Немного освобожусь и напишу. |
|
|
Дата: Июл 26, 2003 03:41:50 Во ещё три обучающие\тестирующие программки по опкоду. Их правда лучше со статьями. Но может пока статьи напишутся на русском, можно попробывать в них поиграться. _1319668708__train.zip |
|
|
Дата: Авг 7, 2003 02:18:15 Gloomy Берёшь HIEW(611.exe) и ...понеслась. |
|
|
Дата: Авг 7, 2003 10:39:51 Уважаю Hiew. Но есть ошибки в декодировании. |
|
|
Дата: Авг 7, 2003 11:41:27 The Svin Уважаю Hiew. Но есть ошибки в декодировании. Я как-то тоже разбирался с корректностью Hiew и также нашел неточности. В частности, декодирование некоторых несуществующих опкодов. А какие, если не секрет, ошибки Вы в Hiew обнаружили? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039 |