Вопросы с тегом «assembly»

5
Как проверить, требует ли двоичный файл SSE4 или AVX в Linux
В Linux /proc/cpuinfoпозволяет просто проверить все флаги процессора, которые есть у машины. Обычно, если программе требуется расширенный набор инструкций машины, самый простой способ определить это - запустить ее и посмотреть, вызывает ли она SIGILLсигнал. Но в моем случае все мои процессоры поддерживают как минимум SSE4.1 и AVX. Итак, есть ли …
20 linux  x86  assembly 

1
Что на самом деле происходит, когда я запускаю «cli; hlt »в моей системе Linux?
Поэтому я недавно выяснил, что есть HLTкод операции для остановки процессора. Круто, посмотрим что получится! user@box:~$ cat > test.c int main(void) { __asm__("HLT"); return 0; } user@box:~$ gcc -o test test.c user@box:~$ ./test Segmentation fault (core dumped) user@box:~$ Duh! Как скучно. Оказывается, HLTэто привилегированная инструкция, так что давайте попробуем что-нибудь …
16 linux  assembly 

3
Задержка инструкций процессора на процессорах x86 и x64
Я ищу какую-то таблицу или что-то подобное, что может помочь мне рассчитать эффективность кода сборки. Как я знаю, сдвиг бит занимает 1 такт процессора, но я действительно смотрю, сколько нужно сложения (вычитание должно быть одинаковым), умножения и как предположительно рассчитать время деления, если я знаю значения, которые делятся. Мне действительно …
14 64-bit  cpu  latency  x86  assembly 

3
Почему мы не можем понять содержимое двоичного файла после компиляции?
Насколько я знаю, каждая программа состоит из набора инструкций процессора с некоторыми конкретными переменными данных (float, int, char ...) для работы с регистрами процессора . Итак, первое, что я подумал об этом (давно), это то, что если вы знаете, что значение ASCII %¨#$¨#(просто случайный пример) может быть интерпретировано как адрес …

3
Насколько распространены старые процессоры x64 без инструкции cmpxchg16b?
Инструкция cmpxchg16b для выполнения атомарного 128-битного обмена памятью не поддерживается на старых версиях процессора x64, но кажется, что это поддерживается новыми версиями процессора уже несколько лет. Насколько вероятно, что я столкнусь с 64-битной машиной со старым процессором, в котором отсутствует эта инструкция?
8 assembly 

3
Vim форматирование сборки
Vim неправильно делает отступ для ассемблерного кода, независимо от того, хочу ли я, чтобы он делал это автоматически, или если я пытаюсь gg=G это просто говорит ## строки с отступом хотя это ничего не изменило, и весь мой текст по-прежнему выровнен по левому краю.


0
Как компьютер добавляет 2 номера на самом низком уровне?
Большинство адресов памяти содержат только 8 бит (1 байт). Это означает, что он может содержать число до 255. Что, если я хотел сохранить 511? Я хотел бы использовать 2 адреса памяти и хранить его так 00000001 11111111 Но если у моей программы был такой код операции, как ADD. Как он …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.