![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.12.2008
Сообщений: 46
|
![]()
Всем привет. Нужна небольшая помощь в такой программе:
Код:
|
![]() |
![]() |
![]() |
#2 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Так как делителем является переменная размерностью байт (Ten db 10), то результат от деления размещается в регистре al, а остаток в ah (это 8-ми битные части регистра eax). Ну а так как результат от деления 2560 на 10 составляет 256 и его невозможно разместить в регистре al, то и возникает ошибка "Переполнение деления".
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Потому что при делении 16-разрядного числа на 8-разрядное результат помещается в 8-разрядный регистр al. 2600/10=260 уже не вмещается в al, вот и происходит ошибка деления. Выход делить DX:AX на 10 как шестнадцатиразрядное число.
|
![]() |
![]() |
![]() |
#4 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Вот оно:
Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
Teor
данная программа позволит делить числа от 65535 до 0 на 10 -- здесь деление заменено на умножение, а результат всегда в регистре DX Код:
Код:
Последний раз редактировалось Mikl___; 12.10.2010 в 03:47. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.12.2008
Сообщений: 46
|
![]()
Всем спасибо за ответы. Вы помогли мне даже больше, чем нужно было
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переполнение деления!!! | zero-cool | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 28.09.2010 21:10 |
Игра,угадай задуманное число,Ошибка деления на ноль!!! | Rid | Помощь студентам | 4 | 22.10.2009 21:12 |
Как узнать что число не Float(без остатка) при результате деления? | zotox | Помощь студентам | 7 | 19.07.2009 15:49 |
Переполнение стека | Ake | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 30.05.2009 22:39 |
Переполнение Стека | Викдон | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 19.12.2008 19:16 |