Я перечитывал по этому вопросу и задался вопросом, мог ли принятый ответ также быть способом определить архитектуру. Например, в asm мог я продвигать WORD на стек и затем проверять SP. Сравните новый SP со старым SP:
Разность 4 средств 32 бита
Разность 8 средств 64 бита
Я корректен в этих взглядах?
Нет, потому что размер вашего стека зависит от того, в каком режиме вы работаете (реальный, защищенный, длинный / 64, vm86, smm и т. д.), а не по архитектуре. Например, если ваша сборка работает в защищенном режиме, ваш стек будет 32-битным (или 16-битным, если ваши операнды 16-битные), даже если ваш процессор x86-64.
Как и кто-то из упомянутых в комментариях, CPUID - единственный надежный способ узнать, какова ваша архитектура.