|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.07.2009, 16:24 | #1 |
Пользователь
Регистрация: 23.11.2008
Сообщений: 30
|
Асэмблер
Помогите пожалуйста исправить ошибку.
Задание реализовать решение примера. Выдает ошибку о перевыполнении деления. Есть подозрения, что это происходит при делении (C/B) Код:
Заранее спасибо!) |
12.07.2009, 20:24 | #3 |
Пользователь
Регистрация: 23.11.2008
Сообщений: 30
|
Заменил
Код:
Код:
Последний раз редактировалось Stilet; 13.07.2009 в 10:01. |
12.07.2009, 20:59 | #4 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Вообще говоря (d*d+a) меньше чем (d*d+b), так что в результате деления будет ноль, так же как и c/b, отсюда общий результат -20...
Код:
|
12.07.2009, 21:05 | #5 |
Пользователь
Регистрация: 23.11.2008
Сообщений: 30
|
нет. Там 1 дробь равно 1 и остаток(16),с/b равно 22.5 и минус 20.
просто b и в отрецательные числа Последний раз редактировалось Stilet; 13.07.2009 в 10:01. |
12.07.2009, 21:32 | #6 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
А, за это извиняюсь - не вник
Вот, только на FASM, но суть одна: Код:
Последний раз редактировалось netrino; 12.07.2009 в 21:41. |
12.07.2009, 21:46 | #7 |
Пользователь
Регистрация: 23.11.2008
Сообщений: 30
|
Большое спасибо))) Только мне нужно сделать тем методом( На дєбаге проверял после первой прокрутке все нормально, а на 2 ошибка на делении С на Б. может просто нельзя делить бай байт, хотя я и слово на байт делил всеравно не получается=(
|
12.07.2009, 21:53 | #8 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Верное замечание, перед каждым div, следует добавить xor dx,dx или mov dx,0.
Цитата:
|
|
12.07.2009, 22:17 | #9 | ||
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Подкорректирую сам себя. При делении на слово, делиться DX:AX, а при делении на байт делиться весь AX. Т.е. если делится idiv bl, то перед этим надо очищать ah, а если idiv bx, то очищать уже надо dx.
Цитата:
Цитата:
Код:
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4 Последний раз редактировалось Goodwin98; 12.07.2009 в 22:26. |
||
12.07.2009, 22:36 | #10 |
Пользователь
Регистрация: 23.11.2008
Сообщений: 30
|
когда используем в конце al пишет ошибку. Мы делим слово на байт и по идее должно получится слово. Или я ошибаюсь?
|