Определите архитектуру на 32/64 бита в блоке

Я перечитывал по этому вопросу и задался вопросом, мог ли принятый ответ также быть способом определить архитектуру. Например, в asm мог я продвигать WORD на стек и затем проверять SP. Сравните новый SP со старым SP:

Разность 4 средств 32 бита
Разность 8 средств 64 бита

Я корректен в этих взглядах?

6
задан Community 23 May 2017 в 11:47
поделиться

1 ответ

Нет, потому что размер вашего стека зависит от того, в каком режиме вы работаете (реальный, защищенный, длинный / 64, vm86, smm и т. д.), а не по архитектуре. Например, если ваша сборка работает в защищенном режиме, ваш стек будет 32-битным (или 16-битным, если ваши операнды 16-битные), даже если ваш процессор x86-64.

Как и кто-то из упомянутых в комментариях, CPUID - единственный надежный способ узнать, какова ваша архитектура.

6
ответ дан 17 December 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: