Для реализации действительных чисел от 0 до 1 обычно используются числа с плавающей запятой ANSI или двойные числа. Но числа с фиксированной точностью от 0 до 1 (десятичных знаков по модулю 1 )могут быть эффективно реализованы как 32-битные целые числа ил
У меня есть код, написанный с использованием встроенных функций MSVC SSE. __m128 ноль = _мм _setzero _ps (); __m128 центр = _мм _нагрузка _ps (&sphere.origin.x ); __m128 boxmin =...
Я пытаюсь собрать информацию о системе и заметил следующее на Intel Xeon E5420 :После выполнения CPUID (EAX=1 )устанавливается EDX[28], что указывает на поддержку многопоточности Hyper -, несмотря на то, что...
Мне нужна рука помощи, чтобы понять следующую инструкцию по сборке. Мне кажется, что я звоню по адресу someUnknownValue += 20994A? E8 32F6FFFF -call std ::_Init _locks ::...
Предположим, у меня есть следующее объявленное: section .bss buffer resb 1 И следующие инструкции: mov al, 5 mov [buffer], al mov bl, [buffer] mov cl, buffer Am I исправить в ...
Рассмотрим следующую программу :для i=1 до 10000000 do z < -z *z + c, где z и c — комплексные числа. Каковы эффективные реализации этой программы на ассемблере x86 с использованием x87 и SSE и...
При использовании Microsoft Visual C++ (не CLI, а только стандартного родного C++ )приводит ли встроенная сборка к отключению оптимизации для функции? Когда я проверил с помощью IDA, код некоторых функций...
Итак, недавно, пытаясь отточить свои навыки ассемблера, я написал ОЧЕНЬ простой компилятор для игрушечного языка на C++. Он выполняет однократный проход и напрямую выдает код на этапе синтаксического анализа в несколько строк...
Я пишу маленькое ядро просто для того, чтобы немного разобраться с низкоуровневыми вещами. Прямо сейчас он загружается в Virtual Box, и я могу отображать текст на экране, выделять немного памяти и выполнять другие действительно базовые вещи…
I Я пытаюсь написать ISR для общей ошибки защиты (GP #13 )на x86. Я не могу понять из документов INTEL, как узнать ошибочный адрес, вызвавший исключение. Я знаю...
В настоящее время я пишу простой компилятор C, который принимает файл.c в качестве входных данных и генерирует ассемблерный код (X86, AT&T синтаксис ). Все хорошо, но когда я пытаюсь выполнить инструкцию IDIVQ, я получаю...
Итак, у меня есть адрес в %eax, на который я хотел бы перейти, но код не компилируется, есть ли способ обойти это? movl 0xdeadbeef, %eax jmp %eax ; < ---ошибка компиляции :несоответствие типа для 'jmp'
Я попытался выяснить разницу в скорости между простыми петлями, петлями-петлями и встроенными повторными петлями. Я написал три программы для сравнения поведения: Программа 1 _start: xor %ecx,%ecx
0: не %ecx ...
Официальное руководство Intel по оптимизации содержит главу о преобразовании команд MMX в SSE, где говорится о следующем статусе: Инструкции по вычислению которые используют операнд памяти, который может не быть ...
У меня есть простая программа, которая добавляет 1 + 1, пока не достигнет миллиона, а затем выдает «Готово!» на консоль. Но когда он работает, он ничего не делает. Вот код: .386 .model flat, опция stdcall ...
Я ищу ссылку на "эволюцию" набора инструкций x86. В основном, какие новые команды делают старые команды избыточными и непригодными для использования, а также разбивка инструкций в соответствии с их...
Я видел asm("pause") в чужом коде и мне интересно, что он делает. Код компилируется g++ в Linux. Эта строка находится в цикле, который находится в другом потоке, который постоянно опрашивает, есть ли обновление...
Я немного запутался в том, как операции умножения и деления работают в ассемблере x86. Например, приведенный ниже код не кажется слишком сложным, так как имеет дело с 8-битным. 8-битное умножение: ; Пользователь ...
У меня есть следующий ассемблерный код (x86). .Вход:
мов ах, 00ч ; получить ключ из буфера клавиатуры
интервал 16ч ; прерывание 16h mov dl, al ; переместить код ASCII в dl
мов ах, 02ч ; функция ...
Я только заметил, что Clang компилирует этот оператор (без какой-либо оптимизации, конечно):--x; /*интервал х; */into:addl $4294967295, %ecx ##imm = 0xFFFFFFFF Почему? Есть ли какое-либо преимущество в...
Я отчаянно нуждаюсь в решении этой проблемы. Я пытаюсь разработать код сборки, позволяющий мне загружать и выполнять (по вводу пользователя) 2 другие программы сборки .EXE. У меня две проблемы: я не выгляжу...
Я изучаю ассемблер x86, чтобы написать компилятор. В частности, я беру множество простых рекурсивных функций и пропускаю их через разные компиляторы (OCaml, GCC и т. д.), чтобы...
Всю последнюю неделю я разрабатывал простую ОС для обучения и... "развлечения". VirtualBox и NASM на буксире, я действительно неплохо начал. В конце концов, я решил, что хочу...
Я работаю с некоторыми функциями батута для использования с высокоуровневыми вызовами в C/Objective-C, небольшой поворот в том, как это делает Apple. Если вы вообще знакомы с тем, как работает IMP в Objective-C, ...
Что мне выбрать NASM или MASM для изучения ассемблера. Я хочу изучать сборку, мотивация - обратный инжиниринг. Так что, когда я дизассемблирую какой-нибудь исполняемый файл, я могу понять код с помощью...
Я изучаю сборку, мотивация — возможность обратного проектирования. Я пытаюсь найти ассемблер, с которого мне следует начать, чтобы затем найти учебники и начать писать ассемблер. Я пришел к...
Я могу выгрузить все целочисленные регистры в gdb, выполнив всего лишь: регистры информации для регистров xmm (intel) Мне нужен файл вида: print $xmm0
напечатать $xmm1
...
напечатайте $xmm15 и затем отправьте этот файл. Является ли ...
Можно ли запустить компилятор LLVM с вводом 32-битного кода x86? Существует огромный алгоритм, исходный код которого у меня отсутствует, и я хочу, чтобы он работал быстрее на том же оборудовании. Могу я перевести с ...