![]() |
|
|
![]()
|
|
| digitech |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 1.4.2007 Репутация: нет Всего: 1 |
Не могу понять, что у меня здесь неправильно. Почему деление на ноль? Помогите разобраться. {Pascal пишет ошибку division by zero (деление на ноль)}
! Этот код скомпилирован в *.obj и подключён в программу на паскале. Это сообщение отредактировал(а) digitech - 21.10.2007, 00:09 |
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
Есть такая чтука как отладчик. Попробуй им найти место где возьникает ошибка.
--------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
||||
|
||||
| digitech |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 1.4.2007 Репутация: нет Всего: 1 |
так откуда в dx берётся ноль, если значения
a=5 b=10 c=2 d=2 Добавлено через 2 минуты и 10 секунд Кстати, вот на всяк. случай код программы на паскале куда подкл. v17_2.obj
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 4 Всего: 158 |
там не 0. у тебя получается не деление на 0, а переполнение при делении. при делении на 16-битный операнд делимым является пара регистров dx:ax(всего 32бита). в dx-старшее слово, в ax-младшее.
т.е. при d = 2, твой код выполняет такое деление: 2*65536+(5*2+10)/2. результат не умещается в 16-битный регистр и генерируется прерывание деления на 0.
|
|||
|
||||
| digitech |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 1.4.2007 Репутация: нет Всего: 1 |
Если можно, то маленькую поправочку внесу.
Не
Именно таким способом у меня получилось, а то до этого тоже было division by zero. А так, большое вам спасибо за подсказку, без этого бы задача моя осталась бы не решённой. Только как теперь это объснить, потому что я задачку делаю с полным описанием. :-( Это сообщение отредактировал(а) digitech - 21.10.2007, 20:36 |
||||
|
|||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |