Я изучаю ассемблер долгое время, и я пытаюсь переписать некоторые простые процедуры \функции к нему для наблюдения выигрышей в производительности (если таковые имеются). Мое основное средство разработки является Delphi 2007 и сначала...
Иногда я пишу очень короткие функции блока как функциональный SeniorBit (Значение: LongWord): Целое число; asm ИЛИ EAX, EAX JZ @@ Сделанный EAX BSR, EAX INC EAX @@ Сделанный: конец;...
Я записанный asm функционирует в Delphi 7, но он преобразовывает мой код к чему-то еще: функционируйте f (x: Кардинал): Кардинал;зарегистрироваться; маркировка допускает ошибку; asm не eax mov edx, eax shr edx, 1 и eax, edx...
При написании процедуры Delphi или функция в коде сборки, какие регистры должны быть сохранены и восстановлены до исходного значения в конце процедуры? При вызове другой процедуры Delphi или ...
C ++ способ сделать это здесь (под Windows). Тот же ответ, но под Linux с использованием GCC. Выдержка из соответствующего asm-кода, насколько я понимаю: mov eax, 1
cpuid
mov features, edx Я не ...
У меня есть образец исходного кода для OpenGL, я хотел скомпилировать 64-битную версию (используя Delphi XE2), но есть код ASM, который не компилируется, а я ничего не знаю об ASM. Вот код ниже, ...
Что я хотел бы сделать, так это с помощью ассемблера создать экземпляр класса, вызвать один из его методов и затем освободить экземпляр Я знаю, что упускаю что-то очень важное и, возможно, очень простое, но я...
В недавно доставшемся мне проекте Delphi есть процедура в ASM. Я полный новичок в ASM, поэтому не понимаю ее. Я прочитал различные инструкции по ASM, чтобы попытаться расшифровать процедуры ...
Допустим, я хочу читать с абсолютного адреса gs: $ 30 в 64-битный режим, поэтому код asm выглядит примерно так: asm mov rax, gs: [$ 30]
конец; ... и компилятор преобразует этот код в ... 65 48 8B ...
Если я сделаю это var a, b, c: cardinal;
begin a: = 80000000 долларов США; b: = 80000000 долларов США; с: = а + b;
конец; c будет равно 0, поскольку сложение переполнилось. Как лучше всего поймать это переполненное логическое значение? (а + Ь <а)
Как с помощью Delphi 2007 проверить, поддерживает ли бокс AVX. Мой вопрос ограничивается только запросом поддержки в ЦП (предполагается, что ОС в порядке / Windows 7 с пакетом обновления 1). PDF...
I am running into some weird behaviour with Delphi's inline assembly, as demonstrated in this very short and simple program: program test; {$APPTYPE CONSOLE} uses SysUtils; type TAsdf = ...
У меня есть эта процедура, которая меняет местами байты (младший / старший) переменной Word (она делает то же самое, что и функция System.Swap). Процедура работает, когда оптимизация компилятора выключена, но не когда она ...
Я использую Delphi 2010. Можно ли указать Delphi не генерировать пролог для функции? Я пишу несколько чистых ассемблерных функций, например: procedure SomeAssembly; stdcall;
begin asm ...
У меня проблема с доступом к элементу массива в сборке (delphi). Код: procedure TMaskBit.AllocBuffer;
begin SetLength (DataIn, 6); // массив целых чисел DataIn [0]: = 1; ...
Вопрос Есть ли какие-либо ресурсы для обучения использованию сборки в Delphi? Общие сведения Я нашел и прочитал некоторые общие ссылки на сборку и набор инструкций (x86, MMX, SSE и т. Д.). ...