Я читал за this question и задавался вопросом, может ли принятый ответ быть способом определения архитектуры. Например, в asm я могу нажать WORD в стек, а затем проверить SP. Сравните новый SP к старому SP:Определить архитектуру 32/64 бит в сборе
Diff 4 означает 32 бит
Diff 8 означает 64 бит
Я правильно в этой мысли?
У меня создалось впечатление, что 32-разрядные и 64-разрядные инструкции по сборке были разными. По крайней мере, в x86 по сравнению с x86-64. – Powerlord
Я не знаю, но если вы просто хотите обнаружить 64-битную поддержку, вы можете использовать инструкцию CPUID. –
Обычно во время компиляции известно, является ли цель 64-разрядной или 32-разрядной. Было бы очень редко, если бы этот трюк был бы полезен. Кроме того, я предполагаю, что есть способ проверить соответствующий флаг напрямую, не выполняя своего рода трюк. –