Вопросы с тегом «assembly»

Вопросы программирования на ассемблере (asm). ОБЯЗАТЕЛЬНО ТАКЖЕ пометьте процессором и / или набором команд, который вы используете, а также ассемблером. ПРЕДУПРЕЖДЕНИЕ. Вместо сборок .NET используйте тег [.net-assembly]. Для Java ASM используйте тег [java-bytecode-asm].

3
Возможная ошибка GCC при возврате структуры из функции
Я полагаю, что обнаружил ошибку в GCC при реализации PCG PRNG О'Нила. ( Исходный код в проводнике компилятора Годболта ) После умножения oldstateна MULTIPLIER(результат сохраняется в rdi), GCC не добавляет этот результат INCREMENT, перемещая INCREMENTвместо него значение rdx, которое затем используется как возвращаемое значение rand32_ret.state. Минимальный воспроизводимый пример ( Compiler …
133 c  gcc  assembly  x86-64  compiler-bug 


15
Быстро определить, присутствует ли значение в массиве C?
У меня есть встроенное приложение с критичным по времени ISR, которое должно перебирать массив размером 256 (предпочтительно 1024, но 256 - минимум) и проверять, соответствует ли значение содержимому массивов. В этом boolслучае A будет установлено значение true. Микроконтроллер - это NXP LPC4357, ядро ​​ARM Cortex M4, а компилятор - GCC. …

3
Что означают «невременные» обращения к памяти в x86
Это вопрос довольно низкого уровня. В сборке x86 есть две инструкции SSE: MOVDQA xmmi, m128 и MOVNTDQA xmmi, m128 В Руководстве разработчика программного обеспечения IA-32 говорится, что NT в MOVNTDQA означает Non-Temporal , и что в остальном это то же самое, что и MOVDQA. У меня вопрос, что означает « …
123 x86  sse  assembly 



5
Назначение регистров ESI и EDI?
Каково фактическое назначение и использование регистров EDI и ESI в ассемблере? Я знаю, что они используются для строковых операций с одной стороны. Может кто-нибудь также привести пример?
119 assembly  x86 

3
Почему инструкции x86-64 для 32-битных регистров обнуляют верхнюю часть полного 64-битного регистра?
В x86-64 Tour of Intel Manuals я прочитал Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBXавтоматически обнуляет старшие 32 бита RAXрегистра. В документации Intel (3.4.1.1 Регистры общего назначения в 64-битном режиме в ручной базовой архитектуре), цитируемой в том же источнике, говорится: 64-битные операнды генерируют 64-битный …

8
`testl` eax против eax?
Пытаюсь разобраться в какой-то сборке. Сборка следующая, интересует testlлинейка: 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 Я пытаюсь понять точку testlмежду %eaxи %eax? Я думаю, что особенности этого кода не важны, я просто пытаюсь разобраться в тесте с …

4
Для чего используются директивы CFI в Gnu Assembler (GAS)?
Там , кажется, директива .CFI после каждой строки , а также есть широкий varities этих напр., .cfi_startproc, И .cfi_endprocт.д .. больше здесь . .file "temp.c" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 movq %rsp, %rbp .cfi_offset 6, -16 .cfi_def_cfa_register 6 movl $0, %eax leave …
118 assembly  gas 

9
Как просмотреть сборку кода с помощью Visual C ++?
Я читал другой вопрос, касающийся эффективности двух строк кода, и ОП сказал, что он посмотрел на сборку, стоящую за кодом, и обе строки были идентичны в сборке. Отступление в сторону, как мне просмотреть ассемблерный код, созданный при компиляции программы. Я использую Microsoft Visual C ++, но мне также хотелось бы …

20
Как я могу построить небольшую операционную систему на старом настольном компьютере? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 4 года назад . Уточните этот вопрос Это могло быть напрасно, поскольку я знаю, что написать …

6
Почему SSE скалярный sqrt (x) медленнее, чем rsqrt (x) * x?
Я профилировал некоторые из наших основных математических вычислений на Intel Core Duo, и, глядя на различные подходы к вычислению квадратного корня, я заметил кое-что странное: используя скалярные операции SSE, быстрее получить обратный квадратный корень и умножить его. чтобы получить sqrt, чем использовать собственный код операции sqrt! Я тестирую это с …


10
Почему x86 уродлив? Почему он считается неполноценным по сравнению с другими? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.