Ассемблерная вставка
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Всем исключительно доброго времени дня или ночи :).
Захотелось мне попробовать ассемблерные вставки в
C++
, так же потренироваться в битовых операциях. В качестве практики решил написать программу, которая выводит содержимое РОН. Порылся в инете на счёт ассемблерных вставок и нашёл, что вgcc
используется AT&T синтаксис. Написал код:Код не компилируется с ошибками:
Ругается на:
Я так понял, что переменные
eax
,ebx
и т.д. не видно в этих вставках. Как сделать так, что бы переменные стало видно, и компилятор смог переварить этот код без проблем?Перенеси определение переменных
unsigned long eax, ebx, ecx, edx;
из функции в глобальную область.Не помогло, даже ещё хуже стало:
У меня такая же ерунда вылезает при компиляции в 32-битное приложение. При 64-битах — всё нормально компилится и работает.