LINUX.ORG.RU

push/pop и x86_64


0

0

Вот наткнулся на ещё одну проблему пока кодил на асме под x86_64 (я уже ненавижу эту платформу):

На строчке с push[a]/pop[a] при компиляции вылетает с ошибкой:

[code]error: instruction not supported in 64-bit mode[/code]

Получается в x86_64 я не могу ничего в стек загрузить? Oo

Ответ на: комментарий от ferhiord

> да... работают, а я пытался eax в стек пихнуть, но вопрос насчёт pusha и popa остаётся открытым

Прямо сейчас передо мной открыта книга "Intel 64 and IA-32 Architectures Software Developer's Manual".
Страница 4-300 (Vol. 2B).
Заголовок: PUSHA/PUSHAD - Push All General-Purpose Registers

Цитирую: "<...>This instruction executes as described in compatibility mode and legacy mode. It is not valid in 64-bit mode.<...>"

blackst0ne ★★★★★
()

Некоторые бестолковые 32-битные инструкции в 64-битном режиме отсутствуют.

mv ★★★★★
()

> Получается в x86_64 я не могу ничего в стек загрузить?

Если ты опустился до кодинга на асме, должен знать хотя бы _сколько_ регистров общего назначения там используется.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.