Запитання з тегом «x86»

x86 - це архітектура, отримана з процесора Intel 8086. Сімейство x86 включає 32-розрядні архітектури IA-32 та 64-бітні x86-64, а також застарілі 16-бітні архітектури. Питання щодо останнього слід позначати [x86-16] та / або [emu8086]. Використовуйте тег [x86-64], якщо ваше запитання стосується 64-бітного x86-64. Для x86 FPU використовуйте тег [x87]. Для SSE1 / 2/3/4 / AVX * також використовуйте [sse], а також будь-які з [avx] / [avx2] / [avx512], які застосовуються

7
Чи можна сказати провіснику гілок, наскільки ймовірно, що він стежить за гілкою?
Тільки для того, щоб це було зрозуміло, я не маю наміру до будь-якої переносимості тут, тому будь-які рішення, які прив’яжуть мене до певного вікна, чудові. В основному, у мене є твердження if, яке 99% часу оцінить як істинне, і я намагаюся вибити кожен останній годинник продуктивності, чи можу я виконати …

1
Чи потрібні інструкції x86, щоб їхнє власне кодування, а також всі їх аргументи були присутніми в пам'яті одночасно?
Я намагаюся розібратися, чи можна запустити VM Linux, оперативну пам’ять якої підтримує лише одна фізична сторінка. Щоб імітувати це, я змінив обробку помилок вкладеної сторінки в KVM, щоб видалити даний біт з усіх записів вкладених таблиць сторінок (NPT), за винятком того, що відповідає поточній несправності сторінки. Намагаючись запустити гостьова Linux, …

2
Швидше випробування на роздільність, ніж оператор%?
Я помітив цікаву річ на своєму комп’ютері. * Рукописний тест на роздільність значно швидше, ніж %оператор. Розглянемо мінімальний приклад: * AMD Ryzen Threadripper 2990WX, GCC 9.2.0 static int divisible_ui_p(unsigned int m, unsigned int a) { if (m <= a) { if (m == a) { return 1; } return 0; …

1
Чому ініціалізація масиву GCC у масиві спочатку заповнює всю нуль, включаючи ненульові елементи?
Чому gcc заповнює весь масив нулями замість лише 96 цілих чисел? Ненульові ініціалізатори знаходяться на початку масиву. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to materialize a[] in memory instead of optimizing …

1
Чому DOS встановлює реєстр SP на 0xFFFE після завантаження файлу .COM?
На сторінці вікіпедії про файли .COM https://en.wikipedia.org/wiki/COM_file воно гласить: Файли .COM в DOS встановлюють всі регістри сегментів x86 на однакове значення, а SP (покажчик стека) реєструють 0xFFFE, таким чином стек починається в самому верху сегмента пам'яті і працює звідти. Але це фактично встановлює стек починати одним словом внизу верхньої частини …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.