Если у меня есть метод Multiply, определенный как: public static class Experiment
{public static int Multiply (int a, int b) {return a * б; }
} Тогда почему компилятор выдает этот IL: ....
Я использую двоичную трансляцию и имею дело с последовательностями NOP (0x90) длиной около 16 кодов операций. Лучше ли для производительности помещать JMP (до конца) в начало таких последовательностей?
Какой относительно быстрый и простой способ узнать, что означает произвольный код операции (скажем, 0xC8) в x86? Руководство разработчика программного обеспечения Intel не очень интересно искать ...
77f4bcbc 8945fc mov dword ptr [ebp-4], eax А вот правило: 88 / r MOV r / m8, r8 2/2 Переместить регистр байта в байт r / m
89 / r MOV r / m16, r16 2/2 Переместить слово ...
Я читаю инструкцию imul 0xffffffd4 (% ebp,% ebx, 4),% eax и I. Меня сбивает с толку, что именно он делает. Я понимаю, что imul умножается, но я не могу понять синтаксис.
Я знаю, что могу получить исходный код ассемблера, сгенерированный компилятором, используя: gcc -S ... даже если это досадно не дает мне объектного файла как части процесса . Но как мне получить ...
Я работаю над очень простым декомпилятором для архитектуры MIPS и в то время как я прогрессирую, я должен определить много правил для анализа кода, например, "если этот код операции является lui, и следующий код операции является addiu затем...