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

2 ответа

генерированный код @Tiny C Compiler генерирует дополнительные (ненужные?) NOP и JMPs

Может кто-нибудь объяснить, почему этот код: #include <stdio.h> int main() { return 0; } при компиляции с tcc используяtcc code.c производит этот асм: 00401000 |. 55 PUSH EBP 00401001 |. 89E5 MOV EBP,ESP 00401003 |. 81EC 00000000 SUB ESP,0 ...

1 ответ

Переключить определенный бит

Так что я видел такие вопросы, как немного переключи в этом положении [https://stackoverflow.com/questions/3681684/toggle-a-bit-at-ith-positon] а также Как вы устанавливаете, очищаете и переключаете один ...

1 ответ

x86-64: загрузка кеша и инструкция по вытеснению

Для архитектуры x86-64, есть ли инструкция, которая может загружать данные по заданному адресу памяти в кеш? Аналогично, есть ли инструкция, которая может высвободить строку кэша, учитывая адрес памяти, соответствующий этой строке кэша (или ...

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

2 ответа

Что, если в вызываемом блоке кода в сборочных программах нет оператора возврата

Что произойдет, если я скажу «позвони» вместо прыжка? Поскольку оператор return не написан, управление просто переходит на следующую строку ниже или оно все еще возвращается на строку после вызова? start: mov $0, %eax jmp two one: mov $1, %eax ...

2 ответа

NASM Сборка преобразовать ввод в целое число?

Хорошо, так что я довольно новичок в сборке, на самом деле, я очень новичок в сборке. Я написал фрагмент кода, который просто предназначен для получения числового ввода от пользователя, умножения его на 10 и получения результата, выраженного ...

6 ответов

x86 MUL Инструкция от VS 2008/2010

Будут ли современные (2008/2010) заклинания Visual Studio или Visual C ++ Express создавать инструкции MUL x86 (без знака умножения) в скомпилированном коде? Я не могу найти или придумать пример, где они появляются в скомпилированном коде, даже ...

2 ответа

Преимущества использования 32-битных регистров / инструкций в x86-64

Иногда gcc использует 32-битный регистр, когда я ожидал, что он будет использовать 64-битный регистр. Например, следующий код C: unsigned long long div(unsigned long long a, unsigned long long b){ return a/b; } скомпилирован с опцией -O2 для ...

1 ответ

Получите argv [2] адрес в ассемблере x64

edi - argc, rsi - argv 0x0000000000400535 <+8>: mov %edi,-0x4(%rbp) 0x0000000000400538 <+11>: mov %rsi,-0x10(%rbp) здесь я получаю указатель argv (gdb) x/8x $rbp-0x10 0x7ffdb7cac380: 0xb7cac478 0x00007ffd 0x00000000 0x00000003 0x7ffdb7cac390: ...

5 ответов

Как получить доступ к массиву символов и изменить строчные буквы на прописные, и наоборот

В настоящее время я работаю над проектом класса для Структурированной организации компьютеров с использованием процессора x86. Значение, к которому я обращаюсь, представляет собой 1-байтовый символ, но я не знаю, как сравнить его с заглавными ...

13 ответов

Can num++ be atomic for 'int num'

В общем, дляint num, num++ (или++num), как операция чтения-изменения-записи, является не атомный. Но я часто вижу компиляторы, например НКУ [https://en.wikipedia.org/wiki/GNU_Compiler_Collection], сгенерируйте для него следующий код попробуйте ...