Вопросы с тегом 'x86-64'
x86-64 - это 64-битное расширение для архитектуры Intel x86
16
Какова цель инструкции LEA?
Для меня это просто похоже на фанки MOV. Какова его цель и когда я должен ее использовать?
01 нояб. '09 в 20:57
12
Как определить, была ли сборка .NET построена для x86 или x64?
У меня есть произвольный список сборников .NET.
Мне нужно программно проверить, была ли построена каждая DLL для x86 (в отличие от x64 или Any CPU). Возможно ли это?
06 нояб. '08 в 22:14
4
Почему введение бесполезных инструкций MOV ускоряет узкую петлю в сборке x86_64?
Фон:
При оптимизации некоторого Pascal кода со встроенным языком ассемблера я заметил ненужную инструкцию MOV и удалил ее.
К моему удивлению, удаление ненужной команды заставило мою программу замедлить работу.
Я обнаружил, что добавление произ...
27 июл. '13 в 10:25
4
Почему GCC использует умножение на странное число при реализации целочисленного деления?
Я читал об операциях сборки div и mul, и я решил увидеть их в действии, написав простую программу в C:
File division.c
#include <stdlib.h>
#include <stdio.h>
int main()
{
size_t i = 9;
size_t j = i / 5;
printf("%zu\n",j);...
16 дек. '16 в 11:59
5
Что такое вызывающие соглашения для системных вызовов UNIX и Linux на i386 и x86-64
Следующие ссылки объясняют условные обозначения системных вызовов x86-32 как для UNIX (BSD flavor), так и для Linux:
http://www.int80h.org/bsdasm/#system-calls
http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html
Но како...
29 мар. '10 в 5:48
4
Как Rust 128-битное целое число "i128" работает в 64-битной системе?
Rust имеет 128-битные целые числа, они обозначены типом данных i128 (и u128 для беззнаковых целых):
let a: i128 = 170141183460469231731687303715884105727;
Как Rust заставляет эти значения i128 работать в 64-битной системе; например как это делает ...
03 авг. '19 в 16:44
11
Как найти, если собственный DLL файл скомпилирован как x64 или x86?
Я хочу определить, выполняется ли собственная сборка как x64 или x86 из приложения управляемого кода (С#).
Я думаю, что он должен где-то в заголовке PE, так как загрузчик ОС должен знать эту информацию, но я не мог ее найти. Конечно, я предпочитаю д...
26 янв. '09 в 17:50
7
Ориентация как 32-битной, так и 64-битной с Visual Studio в том же решении/проекте
У меня есть небольшая дилемма о том, как настроить мои визуальные студийные сборки для мультитаргетинга.
Фон: С#.NET v2.0 с p/invoking в сторонние 32-разрядные библиотеки DLL, SQL compact v3.5 SP1, с проектом установки.
Сейчас целевая платформа уста...
28 сент. '08 в 13:05
11
Плавающая точка и целочисленные вычисления на современном оборудовании
Я выполняю критическую работу с высокой производительностью на С++, и в настоящее время мы используем целочисленные вычисления для задач, которые являются по сути плавающей точкой, потому что "быстрее". Это вызывает множество неприятных проблем и доб...
31 мар. '10 в 3:15
15
System.BadImageFormatException: не удалось загрузить файл или сборку (из installutil.exe)
Я пытаюсь установить службу Windows с помощью InstallUtil.exe и получаю сообщение об ошибке
System.BadImageFormatException: Не удалось загрузить файл или сборку '{xxx.exe}' или одну из его зависимостей. Была сделана попытка загрузить программу с не...
27 нояб. '08 в 7:39
10
Почему x86 некрасиво? Почему он считается уступающим по сравнению с другими?
Недавно я читал некоторые архивы SO и встречался с утверждениями относительно архитектуры x86.
Зачем нам нужна разная архитектура процессора для сервера и мини/мэйнфрейма и смешанного ядра? говорит
"Архитектура ПК - это беспорядок, любой разрабо...
21 апр. '10 в 2:14
5
Почему Windows64 использует другое соглашение о вызове от всех других ОС на x86-64?
AMD имеет спецификацию ABI, которая описывает соглашение о вызове для использования на x86-64. Все ОС следуют за ним, за исключением Windows, у которой есть собственное соглашение о вызове x86-64. Почему?
Кто-нибудь знает технические, исторические и...
13 дек. '10 в 13:45
2
Почему инструкции x86-64 на 32-разрядных регистрах обнуляют верхнюю часть полного 64-битного регистра?
В x86-64 Обзор руководств Intel Я прочитал
Возможно, самым удивительным фактом является то, что команда типа MOV EAX, EBX автоматически обнуляет верхние 32 бита регистра RAX.
Документация Intel (3.4.1.1 Общие регистры в 64-битном режиме в базово...
24 июн. '12 в 11:40
2
Что такое "rep; nop;" означают в сборке x86?
Что означает rep; nop?
Это то же самое, что и инструкция pause?
Это то же самое, что и rep nop (без точки с запятой)?
Какая разница с простой инструкцией nop?
Одинаково ли это относится к процессорам AMD и Intel?
(бонус) Где находится офици...
16 авг. '11 в 23:12
4
Почему memcmp (a, b, 4) иногда оптимизируется только для сравнения uint32?
С учетом этого кода:
#include <string.h>
int equal4(const char* a, const char* b)
{
return memcmp(a, b, 4) == 0;
}
int less4(const char* a, const char* b)
{
return memcmp(a, b, 4) < 0;
}
GCC 7 на x86_64 ввел оптимизацию для перв...
12 июл. '17 в 8:25