I ' В последнее время мы столкнулись с множеством функций, в которых gcc генерирует действительно плохой код на x86. Все они соответствуют шаблону: if (some_condition) {/ * сделать что-то действительно простое и вернуть * /
} else {/ * ...
Существуют ли какие-нибудь современные распространенные ЦП, где небезопасно записывать в соседние элементы массива одновременно из разных потоков? Особенно меня интересует x86. Вы можете предположить, что компилятор ...
Две распространенные идиомы блокировки: if (! Atomic_swap (lockaddr, 1)) / * получил блокировку * / и: if (! Atomic_compare_and_swap (lockaddr , 0, val)) / * получил блокировку * / где val может быть просто константой или ...
При программировании на ассемблере и выполнении каких-то манипуляций со строками я использую al, ah, а иногда и другие, чтобы удерживать символы, потому что это позволяет мне хранить больше данных в моих регистрах. Я думаю, что это ...
Какой самый быстрый ассемблерный код x86 для синхронизации доступа к массиву в памяти? Чтобы быть более точным: у нас есть непрерывная одностраничная область памяти с ошибкой, и ОС не будет выгружать эту страницу ...
Я начинаю сборку, я использую nasm для сборки кода ,
Я пытаюсь обработать строку, находящуюся в памяти, и изменить ее, я хочу проверить, находится ли байт в определенном диапазоне (ascii), чтобы я мог ...
Извините ... (преждевременная) оптимизация - это корень всех зол, но Я хотел бы знать: насколько дороже иметь инструкцию jmp по сравнению с ее отсутствием (безветвленный код)? Мне нужна методология для ...
I made my own implementation of strlen in assembly, but it doesn't return the correct value. It returns the string length + 4. Consequently. I don't see why.. and I hope any of you do...
Assembly ...
У меня есть следующий код: узкое место в одной части моего приложения. Все, что я делаю, это вычитаю один массив из другого. Оба этих массива содержат около 100000 элементов. Я пытаюсь найти ...
У меня есть вопрос об исключениях EXCEPTION_INT_OVERFLOW и EXCEPTION_INT_DIVIDE_BY_ZERO. Windows перехватит ошибки #DE, сгенерированные инструкцией IDIV, и в конечном итоге сгенерирует и SEH ...
Мне всегда было интересно, для чего нужны инструкции поворота в некоторых процессорах (например, ROL, RCL на x86). Какое программное обеспечение использует эти инструкции? Сначала я подумал, что их можно использовать ...
Мне нужно прочитать строку данных из SQL Server 2008. Тип одного из столбцов - VARBINARY (MAX). В C # я хочу использовать параметр out для его чтения (и данный сценарий в основном удовлетворяет потребности). Но я ...
Я бы хотел написать очень маленький проверочный JIT-компилятор для написанного мной игрушечного языкового процессора (чисто академический ), но у меня проблемы со средним уровнем дизайна. Концептуально ...
Я беру урок программирования на языке ассемблера x86 и знайте, что определенные инструкции больше не следует использовать - потому что они медленны на современных процессорах; например, инструкция цикла. Я ...
Следующая программа на C: #include int main (void)
{printf ("% u% u% u \ n", sizeof "", sizeof ("" + 0), sizeof (char *)); возврат 0;
} выводит 1 4 4 при компиляции с GCC в Linux, но ...
Мне любопытно, сколько существует способов установить регистр в ноль в x86 сборка. Используя одну инструкцию. Кто-то сказал мне, что ему удалось найти как минимум 10 способов сделать это. Я могу вспомнить следующие: ...
According to the Intel 64 and IA-32 Architectures Software Developer's Manual the LOCK Signal Prefix "ensures that the processor has exclusive use of any shared memory while the signal is asserted". ...
В настоящее время я пытаюсь настроить Visual Studio для автоматической настройки соответствующих конфигураций для 32-разрядной и 64-разрядной компиляции. В идеале я бы хотел иметь Visual Studio ...
В последнее время у меня возникли проблемы с переполнением стека FPU. Мне удалось отследить это до глючной библиотечной функции, которая помещает значение мусора в стек FPU каждый раз, когда она вызывается, и никогда ...
Эй, я написал эту очень простую основную функцию поэкспериментировать с дизассемблированием, а также увидеть и, надеюсь, понять, что происходит на нижнем уровне: int main () {return 6;
} Используя gdb ...
Я пишу свое второе реальное приложение, использующее DI. В целом я думаю, что это позволило улучшить дизайн. Но есть запахи кода, которые я не знаю, как решить. Я предпочитаю использовать ...
Команда паузы обычно используется в цикле тестирования спин-блокировки, когда какой-либо другой поток владеет spinlock, чтобы смягчить жесткую петлю. Это' s сказал, что это эквивалентно некоторым инструкциям NOP. ...
Я относительно новичок во всем этом низкоуровневом языке ассемблера ... и хочу узнать больше. Почему существует разница между языками сборки Linux и Windows? Насколько я понимаю, когда я компилирую ...
Я подросток, который очень заинтересовался языком ассемблера. Я пытаюсь написать небольшую операционную систему на ассемблере Intel x86, и мне было интересно, как писать прямо на экран, например ...
Как использовать семейство инструкций jump? Вот что у них есть: метка JL "It" перескакивает, если она меньше или не больше или равна. У меня вопрос, что в этом предложении? ...
Я пытаюсь реализовать аутентификацию с помощью Devise в моем приложении Rails (Rails 2.3. 8, Devise 1.0.7, ублюдок, работающий в Windows Vista). Но я получаю следующую ошибку: undefined local variable ...
У меня есть небольшой эмулятор 8086, и у меня есть давняя ошибка примерно 2 года, когда AF делает не вести себя должным образом внутри саб и добавить инструкции. Мой текущий способ вычисления его значения таков ...