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

123
Что означают «невременные» обращения к памяти в x86

Это вопрос довольно низкого уровня. В сборке x86 есть две инструкции SSE: MOVDQA xmmi, m128 и MOVNTDQA xmmi, m128 В Руководстве разработчика программного обеспечения IA-32 говорится, что NT в MOVNTDQA означает Non-Temporal , и что в остальном это то же самое, что и MOVDQA. У меня вопрос, что...

119
Назначение регистров ESI и EDI?

Каково фактическое назначение и использование регистров EDI и ESI в ассемблере? Я знаю, что они используются для строковых операций с одной стороны. Может кто-нибудь также привести...

119
Почему инструкции x86-64 для 32-битных регистров обнуляют верхнюю часть полного 64-битного регистра?

В x86-64 Tour of Intel Manuals я прочитал Возможно, самым удивительным фактом является то, что такая инструкция, как MOV EAX, EBXавтоматически обнуляет старшие 32 бита RAXрегистра. В документации Intel (3.4.1.1 Регистры общего назначения в 64-битном режиме в ручной базовой архитектуре), цитируемой...

118
`testl` eax против eax?

Пытаюсь разобраться в какой-то сборке. Сборка следующая, интересует 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? Я думаю, что особенности этого кода...

117
Как просмотреть сборку кода с помощью Visual C ++?

Я читал другой вопрос, касающийся эффективности двух строк кода, и ОП сказал, что он посмотрел на сборку, стоящую за кодом, и обе строки были идентичны в сборке. Отступление в сторону, как мне просмотреть ассемблерный код, созданный при компиляции программы. Я использую Microsoft Visual C ++, но...

116
На каких языках можно скомпилировать WebAssembly (Wasm)?

На каких языках можно скомпилировать WebAssembly (Wasm)? Я считаю, что прямо сейчас C, C ++ и Rust (экспериментальные) могут быть скомпилированы в WebAssembly с бэкэндом компилятора llvm, с такими языками, как Java, Swift и C #, которые в настоящее время не поддерживаются, но являются возможными...

111
Как я могу построить небольшую операционную систему на старом настольном компьютере? [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 4 года назад . Уточните этот вопрос Это могло быть напрасно, поскольку я...

109
Как просмотреть папку и файлы в GAC?

Я хочу просмотреть папки и подпапки в GAC . Также хочу знать о добавлении и удалении из GAC . Чтобы установить, мы пишем эти строки в командной строке, открыв Visual Studio command prompt: - gacutil /i [assembly path] Но для удаления нам понадобится только: - gacutil /u [assembly name]...

106
Почему SSE скалярный sqrt (x) медленнее, чем rsqrt (x) * x?

Я профилировал некоторые из наших основных математических вычислений на Intel Core Duo, и, глядя на различные подходы к вычислению квадратного корня, я заметил кое-что странное: используя скалярные операции SSE, быстрее получить обратный квадратный корень и умножить его. чтобы получить sqrt, чем...

105
Почему x86 уродлив? Почему он считается неполноценным по сравнению с другими? [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

103
Для чего предназначен регистр «FS» / «GS»?

Итак, я знаю, какими должны быть следующие регистры и их использование: CS = сегмент кода (используется для IP) DS = сегмент данных (используется для MOV) ES = целевой сегмент (используется для MOVS и т. Д.) SS = сегмент стека (используется для SP) Но для чего предназначены следующие регистры? FS...

103
Как именно работает стек вызовов?

Я пытаюсь глубже понять, как работают низкоуровневые операции языков программирования и особенно как они взаимодействуют с ОС / ЦП. Я, наверное, читал все ответы в каждой теме, связанной со стеком / кучей, здесь, на Stack Overflow, и все они великолепны. Но есть еще одна вещь, которую я еще не...

102
Как можно увидеть содержимое стека с помощью GDB?

Я новичок в GDB, поэтому у меня есть несколько вопросов: Как я могу посмотреть содержимое стека? Пример: чтобы увидеть содержимое реестра, я набираю info registers. Для стека что это должно быть? Как я могу увидеть содержимое $0x4(%esp)? Когда я печатаю print /d $0x4(%esp), GDB выдает ошибку....

102
В каком направлении растет стек в большинстве современных систем?

Я готовлю некоторые учебные материалы на C и хочу, чтобы мои примеры соответствовали типичной модели стека. В каком направлении растет стек C в Linux, Windows, Mac OSX (PPC и x86), Solaris и самых последних версиях Unix?...

102
Учебное собрание [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 3 года назад . Уточните этот вопрос Решил выучить ассемблер. Основная...

101
В чем разница между asm.js и WebAssembly?

Недавно я читал об asm.js и WebAssembly: http://ejohn.org/blog/asmjs-javascript-compile-target/ https://brendaneich.com/2015/06/from-asm-js-to-webassembly/ Я все еще не понимаю несколько вещей: Компилируется ли код asm.js и выполняется ли он вовремя? Скомпилировано во что? Помимо того, что asm.js...