Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
#1

Ассемблерные вставки, ошибка - C++

26.11.2012, 14:51. Просмотров 922. Ответов 10
Метки нет (Все метки)

Ошибка: 0xC0000095: Integer overflow.
Код:
mov eax,x
sub eax,a
mov ebx,x
sub ebx,c
div ebx - здесь ошибка
mov f,ebx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 14:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ассемблерные вставки, ошибка (C++):

Ассемблерные вставки в C++
Собственно сабж ...: Имею следующий код : short Carry = 2; unsigned short...

Ассемблерные вставки
Будут ли у меня проблемы, если я, поработав с регистрами, не восстановлю их...

Ассемблерные вставки пример
помогите пожалуйста решить вот условие: y1 = 8 +|x|, если x<1 иначе y1 = ...

Ассемблерные вставки (Часть 3)
На 4 шаге ошибка -nan(ind). Не могу разобраться... #include<iostream> using...

Как делаются ассемблерные вставки?
Я слышал, что в С++ можно вставлять вставки на асм, как это делается? Спасибо.

Ассемблерные вставки в Visual DSP++
Добрый вечер, необходимо вставить ассемблерный код ( или файл на ассемблере...

10
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,949
Записей в блоге: 1
26.11.2012, 14:58 #2
типы у переменных a, c, x???
0
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
26.11.2012, 14:59  [ТС] #3
Тип переменных - int
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,949
Записей в блоге: 1
26.11.2012, 15:06 #4
а значения?
0
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
26.11.2012, 15:12  [ТС] #5
Сам пример: (x-a)/(x-c)
Для:
х:10
а:2
с:6
Значения:
c 6 int
ebx 4 unsigned long
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,949
Записей в блоге: 1
26.11.2012, 15:20 #6
у меня всё работает.

Добавлено через 28 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    int x=10;
    int a=2;
    int c=6;
    int f;
    __asm{
        mov eax,x
        sub eax,a
        mov ebx,x
        sub ebx,c
        div ebx 
        mov f,ebx
    }
    return 0;
}
1
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
26.11.2012, 15:37  [ТС] #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
у меня всё работает.
В самом деле, ваш код работает!
Но, если требуется ввести значения с клавиатуры:

C++
1
2
3
4
5
6
7
    int a,c,x,f;
    cout<<"\nВведите а: "; 
    cin>>a; 
    cout<<"Введите c: ";
    cin>>c; // 
    cout<<"Введите x: "; 
    cin>>x;
...то выдает ошибку.
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,949
Записей в блоге: 1
26.11.2012, 16:07 #8
а что означает команда
Assembler
1
div         eax,ebx
в ней и происходит ошибка! Я думал div принимает один регистр
0
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
26.11.2012, 17:03  [ТС] #9
Так у меня один регистр в div.
0
Kuzia domovenok
2212 / 1981 / 443
Регистрация: 25.03.2012
Сообщений: 6,949
Записей в блоге: 1
26.11.2012, 17:11 #10
посмотри сгенерированный ассемблерный код
0
lasn
1 / 1 / 2
Регистрация: 22.11.2012
Сообщений: 53
26.11.2012, 18:37  [ТС] #11
Все, разобрался. Перед делением надо было помещать команду cdq для преобразования данных в учетверенное слово. Тему можно закрыть.

Добавлено через 41 минуту
Kuzia domovenok, спасибо за помощь и потраченное время!
0
26.11.2012, 18:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2012, 18:37
Привет! Вот еще темы с решениями:

Ассемблерные вставки: возведение числа в степень
Привет! Подскажите как это(Возведение числа в степень ) можно реализовать в...

Зачем нужны ассемблерные вставки в Си (msvs) ?
Объясните мне, человеку, который пока не знает ассемблер, но который хочет его...

Ассемблерные вставки в C++. Алгоритм сортировки слиянием
Нужна помощь.Необходимо реализовать алгоритм сортировки слиянием по возрастанию...

Счетчик считающий нажатие клавиши (ассемблерные вставки)
Я ещё новичок и не очень шарю в программировании,если кто поможет буду...


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

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

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