Может кто-нибудь объяснить, что это значит? (Intel Syntax, x86, Windows) and dword ptr [ebp-4], 0
Может кто-нибудь объяснить, что это значит? (Intel Syntax, x86, Windows) and dword ptr [ebp-4], 0
Это вопрос довольно низкого уровня. В сборке x86 есть две инструкции SSE: MOVDQA xmmi, m128 и MOVNTDQA xmmi, m128 В Руководстве разработчика программного обеспечения IA-32 говорится, что NT в MOVNTDQA означает Non-Temporal , и что в остальном это то же самое, что и MOVDQA. У меня вопрос, что...
Все следующие инструкции делают то же самое: установить %eaxна ноль. Какой способ оптимален (требует наименьшего числа машинных циклов)? xorl %eax, %eax mov $0, %eax andl $0, %eax...
В x86-64 Tour of Intel Manuals я прочитал Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBXавтоматически обнуляет старшие 32 бита RAXрегистра. В документации Intel (3.4.1.1 Регистры общего назначения в 64-битном режиме в ручной базовой архитектуре), цитируемой...
Каково фактическое назначение и использование регистров EDI и ESI в ассемблере? Я знаю, что они используются для строковых операций с одной стороны. Может кто-нибудь также привести...
Пытаюсь разобраться в какой-то сборке. Сборка следующая, интересует testlлинейка: 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 Я пытаюсь понять точку testlмежду %eaxи %eax? Я думаю, что особенности этого кода...
Вчера я установил Ubuntu 14.04 (Trusty Tahr). Вроде все нормально. Но когда я попытался скомпилировать код C, я обнаружил следующую ошибку. Ошибка, похоже, связана с тем, что ОС не поддерживает 32-битную архитектуру. Вывод ошибки следующий: /usr/bin/ld: i386 architecture of input file...
Я профилировал некоторые из наших основных математических вычислений на Intel Core Duo, и, глядя на различные подходы к вычислению квадратного корня, я заметил кое-что странное: используя скалярные операции SSE, быстрее получить обратный квадратный корень и умножить его. чтобы получить sqrt, чем...
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...
Я пытаюсь установить службу Windows с помощью InstallUtil.exe и получаю сообщение об ошибке System.BadImageFormatException: не удалось загрузить файл или сборку ' {xxx.exe}' или одну из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом. Что дает? РЕДАКТИРОВАТЬ: (Не...
Итак, я знаю, какими должны быть следующие регистры и их использование: CS = сегмент кода (используется для IP) DS = сегмент данных (используется для MOV) ES = целевой сегмент (используется для MOVS и т. Д.) SS = сегмент стека (используется для SP) Но для чего предназначены следующие регистры? FS...
Пара вопросов относительно колец привилегий процессора x86: Почему кольца 1 и 2 не используются в большинстве операционных систем? Это просто для поддержания совместимости кода с другими архитектурами или есть лучшая причина? Существуют ли какие-либо операционные системы, которые действительно...
Читая об ассемблере, я часто сталкиваюсь с людьми, которые пишут, что они нажимают определенный регистр процессора и вставляют его позже, чтобы восстановить его предыдущее состояние. Как вы можете протолкнуть регистр? Куда это подталкивают? Зачем это нужно? Сводится ли это к инструкции одного...
Я выполняю некоторую критическую для производительности работу на C ++, и в настоящее время мы используем целочисленные вычисления для задач, которые по своей сути являются плавающими, потому что «они быстрее». Это вызывает множество неприятных проблем и добавляет много надоедливого кода. Теперь я...
Я новичок в ассемблере и заметил, что код x86, выдаваемый компиляторами, обычно сохраняет указатель кадра даже в режиме выпуска / оптимизации, когда он может использовать EBPрегистр для чего-то еще. Я понимаю, почему указатель кадра может упростить отладку кода и может быть необходим, если он...
Я хотел написать что-то базовое в сборке под Windows, использую NASM, но ничего не получается. Как написать и скомпилировать hello world без помощи функций C в Windows?
Этот вопрос призван заполнить вакуум хорошей бесплатной информации по предмету. Я считаю, что хороший ответ уместится в один большой SO-ответ или, по крайней мере, в несколько ответов. Основная цель - дать новичкам достаточно информации, чтобы они могли взять руководство самостоятельно и понять...
Я хотел бы разобрать MBR (первые 512 байт) загрузочного диска x86, который у меня есть. Я скопировал MBR в файл, используя dd if=/dev/my-device of=mbr bs=512 count=1 Есть ли предложения по утилите Linux, которая может дизассемблировать файл mbr?...
Может кто-нибудь объяснить, что делает следующий код сборки? int 0x80
Начиная с Pentium Pro (микроархитектура P6), Intel переработала свои микропроцессоры и использовала внутреннее ядро RISC в соответствии со старыми инструкциями CISC. Начиная с Pentium Pro, все инструкции CISC делятся на более мелкие части (uops), а затем выполняются ядром RISC. Вначале мне было...