Результаты поиска по запросу "x86"
gmplib.org/repo/gmp/file/tip/mpn/x86/mul_basecase.asm
ual C ++ _umul128 не определен при таргетинге на 32-битные Windows. Как можно умножить два 64-битных целых без знака при таргетинге на Win32? Решение должно работать только на Visual C ++ 2017 с ориентацией на 32-разрядную версию Windows.
системного программирования, просто читая справочные страницы Linux и видя, что разные программы использовали
исал простуюCпрограмма, которая просто вызываетВыход() [http://man7.org/linux/man-pages/man3/exit.3.html]функция, однакоТрассирование [https://linux.die.net/man/1/strace]говорит, что двоичный файл на самом деле вызывает exit_group, является ли ...
@ineedahero: не стесняйтесь перестать читать после первого предложения или абзаца, а затем. Это точно описывает его нормальную работу.
mov ecx, 16 looptop: . . . loop looptopко раз будет выполняться этот цикл? Что будет еслиecx = 0 начать с? Есть лиloop прыгать или провалиться в таком случае?
Может быть комментарий.
аюсь написать загрузчик (привет мир сортировки). Я использую Bochs для моделирования (платформа Linux-Ubuntu). Но я не могу сделать загрузочный ISO для моего двоичного файла. Хотя в учебнике используется VFD (виртуальная дискета), но это для ...
местах. Но PowerPC relaxed все равно будет медленным для этого теста, потому что он по-прежнему требует, чтобы хранилище фиксировало L1D, а не просто находилось в буфере хранилища, так что вы могли бы испытать пинг-понг в строке кэша.
трите на этот фрагмент: #include <atomic> #include <thread> typedef volatile unsigned char Type; // typedef std::atomic_uchar Type; void fn(Type *p) { for (int i=0; i<500000000; i++) { (*p)++; } } int main() { const int N = 4; std::thread ...
, Форма с 2 операндами быстрее и записывает только один регистр.)
у меня есть функция сборки, которая вызывается на C. Она компилируется и не выдает мне никаких предупреждений, но когда я пытаюсь ее запустить, она вызывает ошибку сегментации. Я думаю, это потому, что я не могу переместить константу в регистр, ...
перенести эту поддержку обратно на основную версию yasm.
граммирую на смеси C, C ++ и ассемблера, и я хотел бы получить надежные следы от любой части кода. Это в основном работает хорошо для кода C и C ++, так как я могу генерировать отладочную информацию с-g, который для современных x86-компиляторов ...
X86 кодирует относительное смещение ближнего вызова
Допустим, у меня есть следующий набор инструкций: 00E79E00 | E8 AE580000 CALL someprocess.00E7F6B3 00E79E05 | 85C0 TEST EAX, EAX (output taken from OllyDbg)Как мне кодировать смещение rel32 из ближнего вызова (0xE8), чтобы я мог получить ...
@PeterCordes интересно, никогда не думал об этом таким образом, что коды операций на самом деле иногда содержат различный размер данных, и процессор делает ноль / знак, расширяет их до правильного пути, но, конечно, вы абсолютно правы.
е всего, это домашнее задание. У меня есть цикл, чтобы получить значения из двух цифр индивидуально, и соединяя их, делая умножение первой цифры на 10 и добавление со второй цифрой, чтобы получить целое число. Я делаю все это и сохраняю в ...
@BeeOnRope: добавлена версия SSE2. Отдельный movd / punpckldq, но все же лучше, чем 2 скалярных операции на некоторых процессорах.
тавьте себе цикл хранения-загрузки, подобный следующему, который загружаетDWORDs из несмежных местоположений и хранит их непрерывно: top: mov eax, DWORD [rsi] mov DWORD [rdi], eax mov eax, DWORD [rdx] mov DWORD [rdi + 4], eax ; unroll the above ...