Результаты поиска по запросу "inline-assembly"

2 ответа

Обратите внимание, что даже если вы добьетесь успеха, многие ОС будут блокировать такое выполнение, поскольку это нарушает безопасность. Это был бы отличный способ создать вирусы, и поэтому обычно блокируется.

как вы знаете в C и C ++, если вы используете Visual-C, вы можете иметь в строке инструкции по сборке, такие как: int main() { printf("Hello\n"); __asm int 3 printf("this will not be printed.\n"); return 0; }Который сделает точку останова ...

1 ответ

Как вы определяете тип архитектуры процессора во время выполнения с GCC и встроенным ассемблером?

Мне нужно найти тип архитектуры процессора. У меня нет доступа к / proc / cpuinfo, так как на машине работает syslinux. Я знаю, что есть способ сделать это с помощью встроенного ASM, однако я считаю, что мой синтаксис неверен, поскольку моя ...

1 ответ

Только что попробовал второе решение, отлично работает на одном из моих компьютеров, но не удалось другого, возможно, причина старой версии GCC.

ужен такой встроенный код сборки: у меня естьпара(так, это сбалансировано) операции push / pop внутри сборкиУ меня также есть переменная в памяти (так, не регистр) в качестве вводанравится: __asm__ __volatile__ ("push %%eax\n\t" // ... some ...

ТОП публикаций

1 ответ

 это 2 мопс. (И вызывает остановку перехода SSE / AVX на Haswell, но не Skylake). Кроме того, все эти операции являются частью цепочки зависимостей для изменяемого регистра, в отличие от установки значения в другом регистре и смешивания.

состоит в том, что я хотел бы собрать возвращенные значенияdouble в векторный регистр для обработки для машиныimm width вовремябезСохранение обратно в память первым. Конкретная обработка являетсяvfma с двумя другими операндами, ...

1 ответ

 и дать GCC возможность передвигаться. GCC удалил большую часть кода, поэтому буферы не были случайными. Встроенный ассемблер GCC абсолютно отстой. Я был бы смущен, если бы я издал инструмент, который сосал это плохо. Мало того, что мы не можем выразить то, что мы хотим сделать, мы должны использовать volatile, чтобы GCC не ломал дерьмо.

отаю в Power9 и использую аппаратную инструкцию генератора случайных чисел под названием DARN. У меня есть следующая встроенная сборка: uint64_t val; __asm__ __volatile__ ( "xor 3,3,3 \n" // r3 = 0 "addi 4,3,-1 \n" // r4 = -1, failure "1: \n" ...

1 ответ

@PeterCordes Я думаю, что OP будет благодарен, если я просто предоставлю подтверждение концепции, а не учебник. :)

рабатываю онлайновую систему судейства для конкурсов по программированию, таких как LeetCode, Codeforces и т. Д. Что касается большинства конкурсов по программированию, встроенный ассемблер не разрешен в C / C ++, поэтому я хотел бы добавить ...

1 ответ

Надеюсь, это поможет.

long getesp() { __asm__("movl %esp,%eax"); } void main() { printf("%08X\n",getesp()+4); }у esp указывает на значение перед настройкой стекового фрейма и имеет ли это какое-то значение между приведенным ниже кодом? void main() { __asm__("movl ...

3 ответа

 блоки, и я говорю конкретно о компиляторах Microsoft. Вы все еще можете создать отдельный файл .asm, собрать его с помощью ассемблера Microsoft (ML / ML64 / armasm) и связать полученный .obj с программой на C / C ++, используя CL. Другие ответы показывают, что вы можете выполнять встроенную сборку с другими компиляторами.

ню, когда-то со старым DOS-компилятором borland вы могли сделать что-то вроде этого: asm { mov ax,ex etc etc... }Есть ли полуплатформенный независимый способ сделать это сейчас? Мне нужно сделать вызов BIOS, поэтому, если бы был способ ...

5 ответов

, компилятор все еще может пролить аргументы функций в красную зону.

у криптографическую программу, а ядро ​​(широко распространенная процедура) написано в сборке x86-64, как для скорости, так и потому, что оно широко использует такие инструкции, какadc которые не легко доступны из C. Я не хочу вставлять эту ...

3 ответа

 5 байт (при условии x86-32), но это вряд ли будет серьезной проблемой.

шем байт-код для высокоуровневого скомпилированного языка, и после небольшого профилирования и оптимизации выяснилось, что наибольшие накладные расходы на производительность - это оператор switch, который мы используем для перехода к случаям ...