Перемещение содержимого переменной RAX в C (x86-64 asm) - PullRequest
0 голосов
/ 01 декабря 2010

Это довольно наивный вопрос. Я просто играю с выделением некоторой исполняемой памяти и сборкой вручную кода x86 для запуска в нем. Меня немного смущает, как работает адресация в 64-битном режиме. Если в моем коде C есть переменная, и я хочу переместить содержимое RAX в эту переменную, какую форму инструкции MOV мне следует использовать? (Это не использует встроенную сборку, поэтому я не могу заставить компилятор сделать это за меня; у меня просто есть значение & var для игры.)

1 Ответ

2 голосов
/ 01 декабря 2010

Используя синтаксис Intel, это будет что-то вроде mov [var],rax, где var - это 64-битный непосредственный адрес.

Я думаю, это то, что Intel называет MOV moffs64*,RAX в Intel® 64Руководство разработчика программного обеспечения для архитектуры IA-32 ".

...