Свързани въпроси 'x86-64'

Четене на CF, PF, ZF, SF, OF
Пиша виртуална машина за моя собствен асемблер, искам да мога да задам флаговете за пренасяне, паритет, нула, знак и препълване, както са зададени в архитектурата x86-64, когато извършвам операции като добавяне. Бележки: Използвам Microsoft...
1265 изгледи
schedule 16.09.2022

Извикване на sprintf в x64 асемблиране
Изглежда, че не мога да извикам sprintf() правилно в асемблирането. Когато се опитам да dprintf() моя буфер, който сега трябва да бъде форматиран, всичко, което получавам, е: (null) и грешка в сегментирането. Когато изпълнявам lldb...
139 изгледи

Какво означава да си зависим от архитектурата на машината?
Нов съм в C++. Наскоро в моята компания започна дискусия около компилирането на код за различни машинни архитектури като X86_64 AMD срещу Intel Сега погледнах gcc флаговете, които подаваме, за да компилираме нашите приложения, и няма нищо, което...
721 изгледи
schedule 03.10.2022

Защо C не натиска указател върху стека при извикване на функция за асемблиране?
В момента се опитвам да придобия опит с извикването на асемблиращи функции от C. Затова създадох малка програма, която изчислява сумата на всички елементи на масива. C кодът изглежда така: #include <stdio.h> #include <stdint.h>...
353 изгледи
schedule 30.09.2022

Страдат ли съвременните процесори от забавяне поради зависимости на инструкциите?
Докато изучавах компютърната организация, говорихме за зависимостите от данни и как те ограничават пропускателната способност на тръбопровода, защото изпълнението на една инструкция е блокирано от друга инструкция, която не е изпълнена. В...
52 изгледи

Проверка за ID флаг в RFLAGS с помощта на вградено асемблиране в C
Написах следното вградено събрание, за да опитам да проверя за ID флага. Знам, че трябва да се зададе, защото мога да използвам инструкцията cpuid, но тази функция връща 0, когато я тествам. _Bool /* Checks whether the cpu has the cpuid...
63 изгледи
schedule 28.09.2022

Проблеми с 32-битово адресиране в NASM
Започнах да уча асемблиране и се сблъсках с проблеми, свързани с 32-битов абсолютен адрес. Наскоро прочетох публикация за този подобен проблем Защо има проблеми с абсолютното адресиране? . Можете ли да ми кажете защо, ако посоча без да пиша...
27 изгледи
schedule 01.10.2022

Инкрементът цяло число атомно ли е в x86?
На многоядрена x86 машина, да кажем, че нишка, изпълнявана на core1, увеличава целочислена променлива a в същото време нишката на core 2 също я увеличава. Като се има предвид, че първоначалната стойност на a беше 0, винаги ли ще бъде 2 накрая?...
21057 изгледи
schedule 26.10.2023

nasm 64 bit push qword?
Изглежда, че имам интересен проблем, въпреки че вероятно правя нещо явно нередно. Проблемът ми е, че се опитвам да избутам AAAABBBBCCCCC в стека, след което да ги отпечатам чрез stdout. Въпреки това изглежда, че в моята x86_64 среда push...
6328 изгледи
schedule 13.11.2022

Може ли да се оптимизира отчитането на съвпаденията на байтове между два низа с помощта на SIMD?
Профилирането предполага, че тази функция тук е истинско препятствие за моето приложение: static inline int countEqualChars(const char* string1, const char* string2, int size) { int r = 0; for (int j = 0; j < size; ++j) { if...
1033 изгледи
schedule 09.11.2023

Получавайте сигнал за всяка грешка на страницата
Искам да настроя манипулатор на сигнали в моето приложение, така че ядрото да изпраща сигнал всеки път, когато обработва прихващане на грешка на страницата. Разбира се, мога да използвам манипулатора на сигнали SIGSEGV , но това, което наистина ме...
2139 изгледи
schedule 24.11.2023

x64 ymm/SIMD/векторни инструкции, където регистърът ymm е посочен в регистър?
Съществуват ли инструкции за SIMD/векторен регистър, където регистърът ymm е посочен в общ регистър (или SIMD регистър), а не в самата инструкция? По същество това, което се опитвам да направя, е да напиша функция, която записва всяка поредица от...
1841 изгледи
schedule 28.10.2022

Xcode 5.1: Премахване на x86_64 архитектура
В Xcode 5.1 как да премахнете архитектурата x86_64? Проектът работи добре с Xcode 5.0, но дава грешка при свързване в Xcode 5.1. Не виждам актуализиран sdk от малък залог. Затова реших да премахна архитектурата x86_64. Как мога да постигна това...
1037 изгледи
schedule 23.10.2022

указател към va_list в amd64 ABI
Имам притеснения относно различни функции под Linux amd64 (x86_64). Моят пример компилира и работи добре на linux i386 (ia32), но когато е създаден за linux amd64, GCC създава такива грешки: stdarg.c: In function ‘vtest’: stdarg.c:21:5:...
1653 изгледи
schedule 13.12.2023

Как правилно да регистрирате 32-битова добавка в x86 офис, работещ на 64-битов компютър?
Не мога да регистрирам COM .dll в моя офис. ОС - 64-bit Windows 7; Целевата рамка на dll е 4.0; Office е 32-битов Word 2007 (x86 Word 2007 ) Добавката задава ниско ниво на клавиатурата Hook и използва следните неуправляеми методи...
487 изгледи
schedule 01.01.2024

Проблем с използването на драйвер на Vista 64bit
Това е хронологично продължение на този въпрос. Опростих платката си, така че да работи добре с DDK версията на BulkUSB на 32-битови версии на XP и Vista, но не мога да я инсталирам на Vista 64. (създадена с amd64 fre) Успях да направя windows...
285 изгледи
schedule 20.01.2024

Нишка локални променливи и fs сегмент
Чета от локална променлива на нишка в моя код по този начин, // tid_local is declared as __thread int tid_local; long tid = tid_local Разглеждайки разглобения код, видях нещо подобно, което подозирам, че е инструкцията, която присвоява tid...
2966 изгледи
schedule 16.01.2024

x86_64 - Сглобяване - условия на цикъл и неизправност
Аз не искам бенчмарк. ( Ако случаят беше такъв, щях да го направя сам. ) Въпросът ми: Склонен съм да избягвам режимите на косвено/индексно адресиране за удобство. Като заместител често използвам незабавно, абсолютно или регистърно...
1687 изгледи

Мога ли да използвам rsp като регистър с общо предназначение?
Казаха ми, че ако използвам rsp като регистър с общо предназначение, операционната система може да изхвърли регистрите там, където сочи в случай на прекъсване, причинявайки проблемно поведение. Вярно ли е това и ако не, следователно, ако нямам...
283 изгледи

Взаимозаменяеми ли са RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8-R15?
Взаимозаменяеми ли са x64 регистрите, в смисъл че всяка инструкция, която работи с една комбинация от тях, ще работи с всяка друга? Има ли разлика в производителността или някакви други съображения, които ги правят различни един от друг, освен имената?
2153 изгледи
schedule 20.03.2024