Некоторые встроенные сборки не работают в 64-битном режиме?

Каковы технические преимущества моей компиляции в 64-битном режиме по сравнению с 32-битной? Мы говорим об оперативной памяти, которую мое приложение сможет использовать? Размер регистров процессора я смогу использовать?

Я спрашиваю, потому что я читал этот вопрос:

Встроенный ассемблер ICC не любит push / pop

Парень не может получить инструкцию по сборке POP компилировать, потому что он компилировался в 64-битном режиме и POP работает только на 32-битных регистрах (по крайней мере, так я читаю ответ).

Я не могу поверить, что вы не можете использовать POP Команда сборки, если вы компилируете в 64-битном режиме?

Мой главный вопрос — если вы выбираете 64-битную компиляцию — означает ли это, что вы не можете использовать «обычные» встроенные инструкции по сборке?

0

Решение

push а также pop в 64-битном режиме не может иметь 32-битные операнды, только 16-битные или 64-битные, это не тот случай, когда pop работает только на 32-битных регистрах. В целом большая часть кода будет работать одинаково в 32-битном и 64-битном режимах, но некоторые малоиспользуемые инструкции (десятичная математика, инструкции, связанные с сегментацией) были полностью удалены из 64-битного режима.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]