Ассемблерная вставка в С++
mov DWORD PTR vec[EBP+ECX*4], EAX
error C2404: 'ECX' : illegal register in 'first operand'
Определил что в скобках можна передать лишь 1 регистр (тоесть со 2м будет ошибка каким бы он не был).
Посоветуйте как решить проблему, пожалуйста.
А складывать можно только базовые регистры с индексными(EBP/EBX+EDI/ESI).Вроде что-то ещё,но не могу вспомнить,а книжку открывать лень (=
А вообще странно получается,знаете ли.Написал аналогичную строку,скомпилировал и всё без ошибок.Не знаю,в чём там дело
Кстати,DWord Ptr уберите,он ни к чему–EAX же двусловный,этим определяется размер 1го операнда.Ну и может статься,что у вас там ЕСХ написано,а не ECX:)
Цитата: Quble
Посоветуйте как решить проблему, пожалуйста.
Не использовать ассемблер так как он вам не нужен.