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

4 ответа

Что делает cltq в сборке?

0x0000000000400553 <main+59>: mov -0x4(%rbp),%eax 0x0000000000400556 <main+62>: cltq 0x0000000000400558 <main+64>: shl $0x3,%rax 0x000000000040055c <main+68>: mov %rax,%rdx На самом деле моя программа проста: 5 int main(int argc, char *argv[]) { ...

1 ответ

Как получить доступ к структуре / переменным C из встроенного asm?

Рассмотрите следующий код: int bn_div(bn_t *bn1, bn_t *bn2, bn_t *bnr) { uint32 q, m; /* Division Result */ uint32 i; /* Loop Counter */ uint32 j; /* Loop Counter */ /* Check Input */ if (bn1 == NULL) return(EFAULT); if (bn1->dat == NULL) ...

2 ответа

ожет ли MOV x86 быть «бесплатным»? Почему я не могу воспроизвести это вообще?

Я продолжаю видеть, как люди утверждают, что инструкция MOV может быть бесплатной в x86 из-за переименования регистров. Для жизни я не могу проверить это ни в одном тестовом случае. Каждый тестовый пример, который я пробую, разоблачает это. ...

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

2 ответа

Используя регистр указателя базы в C ++, встроенный asm

Я хочу использовать регистр указателя базы %rbp) в рамках встроенного ассм. Игрушечный пример этого выглядит так: void Foo(int &x) { asm volatile ("pushq %%rbp;" // 'prologue' "movq %%rsp, %%rbp;" // 'prologue' "subq $12, %%rsp;" // make room ...

4 ответа

Как представить шестнадцатеричное значение, например FFFFFFBB, в программировании на x86-сборке?

Я изучаю программирование встроенной сборки x86. Я хотел написатьmov ecx, FFFFFFBB, однако компилятор не распознает его. Как должны быть записаны шестнадцатеричные числа в коде встроенного ассемблера?

1 ответ

как я могу использовать инструкции SVML [дубликаты]

На этот вопрос уже есть ответ: Ошибка C ++: «_mm_sin_ps» не был объявлен в этой области [/questions/31978592/c-error-mm-sin-ps-was-not-declared-in-this-scope] 3 ответа Где у Клэнга "_mm256_pow_ps"? ...

1 ответ

Странный операнд 'asm' имеет ошибку невозможных ограничений

Я пытаюсь скомпилировать простую программу на C (Win7 32bit, Mingw32 Shell и GCC 5.3.0). Код C выглядит так: #include <stdio.h> #include <stdlib.h> #define _set_tssldt_desc(n,addr,type) \ __asm__ ("movw $104,%1\n\t" \ :\ :"a" (addr),\ "m" ...

1 ответ

Какая разница в логике и производительности между LOCK XCHG и MOV + MFENCE? [Дубликат]

На этот вопрос уже есть ответ: Загружает и хранит единственные инструкции, которые переупорядочиваются? [/questions/50494658/are-loads-and-stores-the-only-instructions-that-gets-reordered] 2 ответа Что является лучшим барьером для записи на ...