Публикации по теме 'x86'


От юниора до гения: история оптимизации
Рефакторинг контрольной суммы, пока она не будет работать в 100 раз быстрее Недавно я наткнулся на хеш-метод, лежащий в пути горячего кода, который несколько раз подвергался рефакторингу разными разработчиками — интересная история Git, которую стоит прочитать. Каждый приносит свой собственный набор инструментов и знаний, применяя разные методы и выбирая разные компромиссы. Наблюдение за развитием метода с течением времени — хороший способ понять, насколько широким может быть спектр..

Вопросы по теме 'x86'

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

Есть ли какие-либо соображения, которые необходимо учитывать при запуске вашей программы .net на x64 или x86?
Я считаю, что тип архитектуры (x86 против x64) абстрагируется для вас при создании программ .Net, но есть ли какие-либо другие соображения, которые могут вызвать проблемы?
1038 просмотров
schedule 13.06.2023

В чем смысл вызова инструкции x86 dword ptr ds:[00923030h]?
Что делает следующая инструкция ассемблера x86? call dword ptr ds:[00923030h] Я подозреваю, что это косвенный вызов, но как именно он вычисляет адрес вызова?
10590 просмотров
schedule 25.01.2024

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

Почему printf показывает -1.#IND для результатов FPTAN?
Я работаю над программой, которая создает ассемблерный код из выражений. Одной из требуемых функций является tan(x), которая в настоящее время работает с использованием следующей последовательности кода (адреса заполняются во время выполнения):...
1178 просмотров
schedule 09.11.2022

InterlockedExchange и выравнивание памяти
Я смущен тем, что Microsoft утверждает, что для InterlockedExchange требуется выравнивание памяти, однако в документации Intel говорится, что выравнивание памяти не требуется для LOCK. Я что-то упускаю или что-то еще? Благодарность из библиотеки...
2549 просмотров
schedule 19.12.2023

Как выглядит многоядерный ассемблер?
Когда-то давным-давно, например, для написания ассемблера x86 у вас были бы инструкции «загрузить регистр EDX со значением 5», «увеличить регистр EDX» и т. Д. С современными процессорами, которые имеют 4 ядра (или даже больше), на уровне машинного...
54322 просмотров
schedule 12.06.2023

Как работает этот узел?
Недавно мне нужно было отлаживать программу на уровне сборки. У меня не так много опыта работы с ассемблером, поэтому я решил написать несколько простых программ на C и выполнить их пошагово, чтобы получить представление о языке, прежде чем я начну...
3205 просмотров
schedule 31.08.2023

Использование программного обеспечения с плавающей запятой в x86 linux
Можно ли (легко) использовать программное обеспечение с плавающей запятой в i386 linux без затрат на перехват ядра при каждом вызове? Я пробовал -msoft-float, но кажется, что обычные (ubuntu) библиотеки C не включают библиотеку FP: $ gcc -m32...
7390 просмотров
schedule 04.10.2022

Вопрос установщика: Program Files или Program Files (x86)?
Я устанавливаю приложение .NET (C #), которое является полностью управляемым кодом. Установщик (InnoSetup) всегда хочет установить приложение в папку «Program Files (x86)» в Vista x64, что, как я предполагаю, связано с тем, что сам установщик только...
3417 просмотров
schedule 26.06.2022

Разыменование метки в сборке x86
Рассмотрим этот код сборки x86: section .data foo: mov ebx, [boo] mov [goo], ebx goo: mov eax, 2 mov eax, 3 ret boo: mov eax, 4 mov eax, 5 ret Что именно здесь происходит? Когда я разыменовываю [boo] и mov...
9631 просмотров
schedule 21.07.2022

Как загрузить ядро ​​с диска с BIOS int 13h в сборке NASM?
Я застрял в этом на несколько недель и понятия не имею, где я ошибаюсь, потому что NASM не выдал мне никаких ошибок. Код довольно понятен из-за комментариев. это код, который загружается из BIOS ;--------------------------------------------...
7148 просмотров
schedule 06.04.2023

Советы по изучению сборки и документации Linux x86-64
Есть ли у кого-нибудь документация по изучению основ сборки Linux x86-64? Я не уверен, изучать ли его как есть или сначала изучать x86, а затем изучать его, но поскольку у меня компьютер x86-64, а не x86, я думал вместо этого изучить x86-64; )...
11813 просмотров
schedule 04.06.2023

Каковы различные области памяти и диска?
Я не уверен ни в том, что это подходящее место, чтобы спросить, ни в том, как задать свой вопрос. Позвольте мне сказать это так: Основная память, начиная с 0x00000 до 0xFFFFF. Дисковое пространство, начиная с 0x00000000 до 0xFFFFFFFF....
150 просмотров

Перегружен при изучении сборки. Ориентация пожалуйста
Недавно я решил, что изучение сборки было бы хорошей идеей, но сейчас я действительно поражен всем материалом, который я прочитал о сборке на форумах, здесь, здесь, в туториалах и т. Д. (Некоторые из них действительно старые), поэтому я хотел бы...
552 просмотров
schedule 10.01.2023

Простая программа на встроенном ассемблере Hello World на C/C++
Я использую компилятор devcpp и borland c.... asm { mov ax,4 // (I/O Func.) mov bx,1 // (Output func) mov cx,&name // (address of the string) mov dx,6 // (length of the string) int 0x21 // system...
9865 просмотров
schedule 24.09.2022

Чтобы научиться сборке - я должен начать с 32-битной или 64-битной?
Очень хочу выучить сборку. Я неплохо разбираюсь в c / c ++, но хочу лучше понимать, что происходит на более низком уровне. Я понимаю, что вопросы, связанные со сборкой, задавались и раньше, но я просто ищу какое-то направление, которое подходит...
35314 просмотров
schedule 22.12.2022

Является ли ARM более безопасным набором инструкций?
Я читал, что «нормальные» инструкции ARM имеют фиксированную длину — 32 бита. И что ни одна инструкция ARM не может перейти в середину другой инструкции — это легко сделать с инструкциями x86. (Для x86 Google NaCl пытается «исправить» это,...
565 просмотров
schedule 01.08.2023

Использование gdb для одношагового ассемблерного кода за пределами указанного исполняемого файла приводит к тому, что ошибка не может найти границы текущей функции
У меня нет целевого исполняемого файла gdb, и у меня даже нет стека, соответствующего этой цели. В любом случае я хочу пошагово, чтобы я мог проверить, что происходит в моем коде сборки, потому что я не эксперт в сборке x86. К сожалению, GDB...
107843 просмотров
schedule 19.04.2022

Вызов LoadLibrary для 64-битной dll из 32-битного процесса
У меня есть 32-битный исполняемый файл, которому необходимо динамически загружать 64-битную dll, когда он обнаруживает, что операционная система 64-битная. Возможно ли это через LoadLibrary? Если нет, есть ли другой способ достичь той же цели?
7528 просмотров
schedule 12.04.2023