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

6 ответов

Можете ли вы расширить этот ответ? Например. включая некоторый контекст (это только для Linux?) и рассмотрите информацию в других комментариях.

ли считать счетчик программ на процессорах Intel напрямую (то есть без «хитростей») в режиме ядра или в каком-либо другом режиме?

1 ответ

@danielhc: Инструкция JNE также известна как JNZ - «Прыгай, если не ноль». В вашем случае будет выполнен переход, если регистр al не равен нулю.

от вопрос уже есть ответ здесь: `testl` eax против eax? [/questions/147173/testl-eax-against-eax] 8 ответовЯ смотрю на несколько небольших ассемблерных кодов и у меня возникают проблемы с пониманием инструкции TEST и ее использования. Я смотрю ...

1 ответ

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

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

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

5 ответов

 проверка должна быть упрощена до:

поздно вечером на работе мы пытались понять, почему что-то не получается. Проверка проверки не удалась, когда это не должно было произойти. Мы закончили тем, что добавили оператор print к этому коду (дизассемблированный из Reflector для ...

7 ответов

Последовательность инструкций, выполняемых из двух потоков на одном ядре, не может быть предсказана. Ниже приведена возможная последовательность, когда оба потока пытаются выполнить i ++, но эффект эквивалентен выполнению i ++ один раз:

жный дубликат: Безопасны ли инкременты / декременты (var ++, var--) и т. Д.? [https://stackoverflow.com/questions/443500/are-incrementers-decrementers-var-var-etc-thread-safe] Можете ли вы описать для меня на уровне кода сборки, почему ...

1 ответ

@ Мэтью я ошибся, спасибо за исправление.

причина отказа от указателя кадра на 64-битных архитектурах по умолчанию? Я хорошо знаю, что он может быть включен, но почему GCC отключает его в первую очередь, когда он включен для 32-разрядных? В конце концов, у 64-битных регистров больше, ...

1 ответ

Он добавляет 4 к значению в R0 и использует его в качестве адреса для загрузки 32-битного значения в регистр R3

аюсь отладить сбой, который я испытываю в своем приложении. Трассировка стека указывает на инструкцию LDR в следующем формате (спасибо дизассемблеру): LDR R3, [R0,#4]Мой вопрос касается исходного компонента. Что означает # 4 во втором параметре? ...

1 ответ

Что делает этот ассемблерный код? (ТЕСТ, исключающее ИЛИ, JNZ)

1. TEST EAX,EAX JNZ SHORT program.004071902. XOR EAX,EAX JNZ SHORT program.00407190Пожалуйста, поправьте меня, если я ошибаюсь. Спасибо! :) Из моего понимания пока: JNZ это прыжок, если не равен нулю, он будет прыгать или нет в зависимости ...

2 ответа

Поведение ebp и esp в стеках с использованием функции с параметром

Я хочу узнать больше о стеке. Особенно, что происходит, когда вызывается функция с параметром. Для этого я пишу следующий код: #include <stdio.h> int sum(int d, int e, int f){ int result = d + e + f; return result; } int main(void){ int a = 5; ...

4 ответа

 объединить два результата частичного умножения).

из них быстрее - val = val*10;или же val = (val<<3) + (val<<2);Сколько тактов делаетimul взять по сравнению со сменой инструкции?