Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Anette666k
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 136
#1

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL"

18.08.2016, 12:33. Просмотров 698. Ответов 4
Метки нет (Все метки)

visual studio выдал такую ошибку
error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL".
что это значить?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2016, 12:33
Ответы с готовыми решениями:

Синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"
visual studio 2013 выдал такую ошибку error C2400: синтаксическая ошибка во...

For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":"
#include "stdafx.h" #include <iostream> #include <stdexcept> #include...

error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fprot"
помогите, пожалуйсти исправить ошибки!!! #include <iostream> #include...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "строка"
#include <stdafx.h> #include <iostream> #include <conio.h> #include...

error C2143: синтаксическая ошибка: отсутствие ";" перед "using"
Сколько смотрю в код, не могу найти где я ошибку совершил, возможно вы...

4
avgoor
1009 / 603 / 157
Регистрация: 05.12.2015
Сообщений: 1,688
18.08.2016, 12:45 #2
Anette666k, Код в студию.
0
Anette666k
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 136
18.08.2016, 14:46  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
int x, y = 0; //Объявляем целочисленные переменные x и y
cout << "x = ";
cin >> x;    //Считываем значение в переменную x
_asm
{
xor EAX, EAX //обнуляем регистр EAX xor EBX, EBX //обнуляем регистр EBX mov EAX, x   //EAX = x
mov EBX, 3   //EBX = 3
mul EBX      //EAX = EAX*EBX = 3*x
mov EBX, 9   //EBX = 9
add EAX, EBX //EAX = EAX + EBX = 3*x+9
mov y, EAX   //Записываем результат в y
}
cout << "y = " << y << endl; //Выводим результат на экран
}
0
obivan
Падаван С++
419 / 239 / 82
Регистрация: 11.11.2014
Сообщений: 845
Завершенные тесты: 2
18.08.2016, 14:58 #4
Лучший ответ Сообщение было отмечено Anette666k как решение

Решение

Anette666k, ну судя по коментариям то вопервых код не так как надо будет работать потому что результат всегда будет 9
Assembler
1
2
3
xor EAX, EAX //обнуляем регистр EAX xor EBX, EBX //обнуляем регистр EBX mov EAX, x   //EAX = x
mov EBX, 3   //EBX = 3
mul EBX
потому что в коде сверху всегда 0
Теперь вопрос где компилируете, в vs2015 все норм скомпилировалось и результат как и должен быть 9

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
void main()
{
    int x, y = 0; 
    cout << "x = ";
    cin >> x;    
    _asm
    {
        mov EAX, x 
        mov EBX, 3   
        mul EBX      
        mov EBX, 9   
        add EAX, EBX 
        mov y, EAX   
    }
    cout << "y = " << y << endl; 
}
вот вам код если хотите чтобы было решение на 3*x + 9
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
18.08.2016, 15:32 #5
и кто тут SHL?
0
18.08.2016, 15:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 15:32

error C2143: синтаксическая ошибка: отсутствие "]" перед ";"
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; using namespace std;...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
Вот текст класса, где собственно говоря вылезает ошибка. Где я мог пропустить...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "<<"
Программа Microsoft Visual C++ 2010 // площадь прямоугольника.cpp: главный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru