Публикации по теме '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 просмотров
schedule
05.07.2023
Перегружен при изучении сборки. Ориентация пожалуйста
Недавно я решил, что изучение сборки было бы хорошей идеей, но сейчас я действительно поражен всем материалом, который я прочитал о сборке на форумах, здесь, здесь, в туториалах и т. Д. (Некоторые из них действительно старые), поэтому я хотел бы...
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