Результаты поиска по запросу "assembly"
Каковы соглашения о вызовах для системных вызовов UNIX и Linux на i386 и x86-64
Следующие ссылки объясняют соглашения о системных вызовах x86-32 для UNIX (BSD-версия) и Linux: http: //www.int80h.org/bsdasm/#system-call [http://www.int80h.org/bsdasm/#system-calls] http: ...
x86-64 Сегментация ошибок сохранения стека указатель
Я сейчас следую вместе с этот учебник [http://web.cecs.pdx.edu/~kstew2/cs533/project/assign1/], но я не учусь в этой школе. GDB дает мне ошибку сегментации вthread_start на линии movq %rsp, (%rdi) # save sp in old thread's tcb Вот ...
Используете LEA для значений, которые не являются адресами / указателями?
Я пытался понять, как работает инструкция вычисления адреса, особенно сleaq команда. Тогда я запутываюсь, когда вижу примеры использованияleaq делать арифметические вычисления. Например, следующий код C, long m12(long x) { return x*12; } В ...
Почему printf перезаписывает регистр ECX?
Я знаюprintf возвращает количество символов, напечатанных в EAX. Почемуprintf меняющийся регистр ECXт @ до 0? Мой фрагмент кода: push eax push intFormat call printf add esp,8 Я запускаю свой код в 64-битном дистрибутиве Linux.
ASM x64 scanf printf double, GAS
Я не могу понять, почему этот код не работает для меня. Мне нужно использовать функцию scanf для двойного и затем printf для того же двойного. При использовании этого кода результаты не являются хорошими. Я вижу довольно случайные ...
Где документирован ABI System V системы x86-64?
X86-64 System V ABI (используется во всем, кроме Windows), раньше жил наhttp: //x86-64.org/documentation/abi.pd [http://x86-64.org/documentation/abi.pdf], но этот сайт теперь не работает в Интернете. Есть новый авторитетный дом для документа?
C без знака долго, долго и imulq
Как кто-то новичок в сборке, я использую gcc для реверс-инжиниринга. Но теперь я столкнулся с какой-то забавной проблемой: я пытаюсь умножить два 64-битных целых числа на x86-64. C-код выглядит следующим образом: unsigned long long val(unsigned ...
Как убрать «шум» из выходных данных сборки GCC / clang?
Я хочу проверить вывод сборки при примененииboost::variant в моем коде, чтобы увидеть, какие промежуточные вызовы оптимизированы. Когда я компилирую следующий пример (с GCC 5.3, используяg++ -O3 -std=c++14 -S) кажется, что компилятор ...
Используя регистр указателя базы в C ++, встроенный asm
Я хочу использовать регистр указателя базы %rbp) в рамках встроенного ассм. Игрушечный пример этого выглядит так: void Foo(int &x) { asm volatile ("pushq %%rbp;" // 'prologue' "movq %%rsp, %%rbp;" // 'prologue' "subq $12, %%rsp;" // make room ...
Как представить шестнадцатеричное значение, например FFFFFFBB, в программировании на x86-сборке?
Я изучаю программирование встроенной сборки x86. Я хотел написатьmov ecx, FFFFFFBB, однако компилятор не распознает его. Как должны быть записаны шестнадцатеричные числа в коде встроенного ассемблера?