таблица кодов команд процессора
Добавлено: 29.07.2008 11:40:20
Здравствуйте.
Понадобилось написать одну маленькую программку, но в ней должны быть заложены функции простейшего декомпилятора (программка не для взлома а для созидания ). Для этого очень надо найти таблицу команд процессора (даже не знаю какого, но чтобы эта таблица желательно была общей и для AMD и Intell 32-разрядных процессоров, тоесть самые общие команды, желательно те которые сам FPC использует для компилирования). Причём это должна быть не таблица только мнемонических команд ассемблера, а таблица машинных кодов и соответствующих команд ассемблера. Два дня рою Гугл и чего-то ничего не могу найти. Думал, может на сайте Интела есть, но там чёрт ногу сломит. Уже начал просто вскрывать разные проги W32Dasm-ом и смотреть каким командам соответствуют какие коды, но это жуть как долго...
Может кто-нибудь с поиском такого рода информации сталкивался, да хотябы ссылки на ресурсы посвящённые этому может подкинуть?
Ах да и ещё одно - таблица может и не понадобиться если есть способ узнать сколько байт занимает в программе одна команда. Тоесть например у меня есть смещение команды MOV в выполняемом файле, но MOV может быть разной длинны в зависимости от того какие у неё операторы она может занимать 2,3 или даже 4 байта (вместе с адресами операторов). Есть ли возможность без использования таблицы узнать напр. по первому байту размер всей команды?
Понадобилось написать одну маленькую программку, но в ней должны быть заложены функции простейшего декомпилятора (программка не для взлома а для созидания ). Для этого очень надо найти таблицу команд процессора (даже не знаю какого, но чтобы эта таблица желательно была общей и для AMD и Intell 32-разрядных процессоров, тоесть самые общие команды, желательно те которые сам FPC использует для компилирования). Причём это должна быть не таблица только мнемонических команд ассемблера, а таблица машинных кодов и соответствующих команд ассемблера. Два дня рою Гугл и чего-то ничего не могу найти. Думал, может на сайте Интела есть, но там чёрт ногу сломит. Уже начал просто вскрывать разные проги W32Dasm-ом и смотреть каким командам соответствуют какие коды, но это жуть как долго...
Может кто-нибудь с поиском такого рода информации сталкивался, да хотябы ссылки на ресурсы посвящённые этому может подкинуть?
Ах да и ещё одно - таблица может и не понадобиться если есть способ узнать сколько байт занимает в программе одна команда. Тоесть например у меня есть смещение команды MOV в выполняемом файле, но MOV может быть разной длинны в зависимости от того какие у неё операторы она может занимать 2,3 или даже 4 байта (вместе с адресами операторов). Есть ли возможность без использования таблицы узнать напр. по первому байту размер всей команды?