Результаты поиска по запросу "assembly"
генерированный код @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 ...
Переключить определенный бит
Так что я видел такие вопросы, как немного переключи в этом положении [https://stackoverflow.com/questions/3681684/toggle-a-bit-at-ith-positon] а также Как вы устанавливаете, очищаете и переключаете один ...
x86-64: загрузка кеша и инструкция по вытеснению
Для архитектуры x86-64, есть ли инструкция, которая может загружать данные по заданному адресу памяти в кеш? Аналогично, есть ли инструкция, которая может высвободить строку кэша, учитывая адрес памяти, соответствующий этой строке кэша (или ...
Что, если в вызываемом блоке кода в сборочных программах нет оператора возврата
Что произойдет, если я скажу «позвони» вместо прыжка? Поскольку оператор return не написан, управление просто переходит на следующую строку ниже или оно все еще возвращается на строку после вызова? start: mov $0, %eax jmp two one: mov $1, %eax ...
NASM Сборка преобразовать ввод в целое число?
Хорошо, так что я довольно новичок в сборке, на самом деле, я очень новичок в сборке. Я написал фрагмент кода, который просто предназначен для получения числового ввода от пользователя, умножения его на 10 и получения результата, выраженного ...
x86 MUL Инструкция от VS 2008/2010
Будут ли современные (2008/2010) заклинания Visual Studio или Visual C ++ Express создавать инструкции MUL x86 (без знака умножения) в скомпилированном коде? Я не могу найти или придумать пример, где они появляются в скомпилированном коде, даже ...
Преимущества использования 32-битных регистров / инструкций в x86-64
Иногда gcc использует 32-битный регистр, когда я ожидал, что он будет использовать 64-битный регистр. Например, следующий код C: unsigned long long div(unsigned long long a, unsigned long long b){ return a/b; } скомпилирован с опцией -O2 для ...
Получите 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: ...
Как получить доступ к массиву символов и изменить строчные буквы на прописные, и наоборот
В настоящее время я работаю над проектом класса для Структурированной организации компьютеров с использованием процессора x86. Значение, к которому я обращаюсь, представляет собой 1-байтовый символ, но я не знаю, как сравнить его с заглавными ...
Can num++ be atomic for 'int num'
В общем, дляint num, num++ (или++num), как операция чтения-изменения-записи, является не атомный. Но я часто вижу компиляторы, например НКУ [https://en.wikipedia.org/wiki/GNU_Compiler_Collection], сгенерируйте для него следующий код попробуйте ...