|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.12.2013, 22:51 | #1 |
Регистрация: 09.12.2012
Сообщений: 8
|
Ассемблерные вставки пример
вот условие:
y1 = 8 +|x|, если x<1 иначе y1 = 3, если x>=1 y2 = |a|*2, если x>=1 иначе y2 = a+1, если x<1 Выводит ошибку если вводить x=0 и a=31 вот код Код:
Как это исправить? |
13.12.2013, 22:59 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Обнулите EDX перед делением на EBX.
DIV делит 64бит из EDX:EAX. Там явно лежит "мусор", в результате получается переполнение. |
13.12.2013, 23:02 | #3 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Xor edx,edx
не успел |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ассемблерные вставки. | Stasiksis | Общие вопросы C/C++ | 2 | 14.02.2013 22:34 |
Ассемблерные вставки в СИ | sunny_alice | Помощь студентам | 0 | 22.12.2012 00:54 |
ассемблерные вставки в c++ | chupchupps | Помощь студентам | 1 | 09.02.2011 11:54 |
Ассемблерные вставки в Delphi | Jupiter | Общие вопросы Delphi | 2 | 24.08.2008 16:41 |
Ассемблерные вставки | Assassin | Помощь студентам | 1 | 26.05.2008 08:19 |