Результаты поиска по запросу "x86-64"

4 ответа

), но разные компиляторы должны иметь возможность надежно договариваться друг с другом.

отрим эти два подхода, которые могут представлятьint«: using std_optional_int = std::optional<int>; using my_optional_int = std::pair<int, bool>;Учитывая эти две функции ... auto get_std_optional_int() -> std_optional_int { return {42}; } ...

5 ответов

Я объяснил оба случая ... второй дает вам деление на ноль в показанных помещениях ... вы меня опровергли? Вот почему вы получаете деление на ноль ..... :) понизить меня ... но ответ был там ....

я есть назначение на расширение некоторыхпо-видимому странное поведение кода C (работает на x86). Я могу легко закончить все остальное, но этот действительно смутил меня. Выводы кода 1-2147483648 int a = 0x80000000; int b = a / -1; ...

1 ответ

Что произойдет, если вы используете 32-битный int 0x80 Linux ABI в 64-битном коде?

int 0x80 в Linux всегда вызывает 32-битный ABI, независимо от того, из какого режима он вызывается: args inebx, ecx, ... и номера системных звонков от/usr/include/asm/unistd_32.h. (Или вылетает на 64-битных ядрах, скомпилированных ...

ТОП публикаций

0 ответов

 и смещение эффективно отбрасывается, поэтому эквивалентно

аюсь изучить ассемблер x64. Я написал «hello world» и попытался вызвать printf, используя следующий код: EXTERN printf: PROC PUBLIC hello_world_asm .data hello_msg db "Hello world", 0 .code hello_world_asm PROC push rbp ; save frame pointer mov ...

0 ответов

 что кэш UOP был расширен до 64-байтовых блоков в Skylake (клиент). Если это правда, это делает выравнивание цикла менее осуществимым: необходимое количество nops очень велико.

трите на этот код: one.cpp: bool test(int a, int b, int c, int d); int main() { volatile int va = 1; volatile int vb = 2; volatile int vc = 3; volatile int vd = 4; int a = va; int b = vb; int c = vc; int d = vd; int s = 0; __asm__("nop"); ...

0 ответов

Ответы только для P4!)

ге Барри Б. Брея "INTEL MICROPROCESSORS" написано, что MOV AH, 1не разрешен в 64-битном режиме, но разрешен в 32-битном или 16-битном режиме. ЕслиMOV AL, 1 может быть разрешен в 64-битном режиме, в чем проблемаMOV AH, 1 ?

0 ответов

@PeterCordes Хороший вопрос, я отредактировал ответ, чтобы указать, какие хранилища / загрузки гарантированно будут атомарными.

(и в нескольких SO) я вижу, что C ++ не поддерживает что-то вроде без блокировки [http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free]и еще не может поддерживать что-то вроде атомарного вектора AVX / SSE, потому что он зависит ...

3 ответа

Я думаю, что слышал о каком-то неприятном ассемблере x86, имеющем размер операнда по умолчанию. Может, тот, который встроен в emu8086?

использовать директивы размера в x86, кажется немного двусмысленным.Это руководство по сборке x86 говорит следующее:В общем, предполагаемый размер элемента д...

1 ответ

docs.microsoft.com/en-us/windows-hardware/drivers/kernel/...

тоящее время я изучаю программирование на процессоре Intel x86.Может кто-нибудь объяснить мне, в чем разница между MMX и XMM регистром? Я очень смущен с точк...

1 ответ

Можете ли вы ввести x64 32-битный «подрежим длинной совместимости» вне режима ядра?