0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 22
|
||||||
1 | ||||||
TASM Возникает ошибка "Деление на ноль", когда на ноль ничего и нигде не делится09.06.2019, 11:19. Показов 2794. Ответов 2
Метки нет (Все метки)
Написал программу, которая выводит на экран координаты клика мыши.
При добавлении куска кода программа начинает работать очень странно: теперь в левой части экрана координата x выводится верно, но только до значения 255. Если кликнуть на часть экрана, которая находится правее программа "ломается". В отладчике при клике в этой области выдает ошибку: divided by zero. Помогите пожалуйста найти проблему
0
|
09.06.2019, 11:19 | |
Ответы с готовыми решениями:
2
Возникает деление на ноль Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль» Тригонометрическая функция: деление на ноль, если ничего не вводить в TextBox Деление на ноль (хотя я не делю на ноль) ошибка деление на ноль |
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
09.06.2019, 11:40 | 2 |
Сообщение было отмечено keldranace как решение
Решение
И это естественно. Команда div генерирует прерывание от деления на 0 не только при делении на 0, но и еще если частное не влезает в тот регистр куда должно помещаться. Ты у себя в коде использовал такое div , что частное - байт. Максимальное значение байта 255. Максимальное значение байта 255. Как только результат деления координаты на 2 становился больше 255 команда div генерировала прерывание по делению на 0, поскольку частное не влезало в байт.
Добавлено через 2 минуты Ты кстати командой div dl получаешь в al частное, а в ah остаток. А потом конкатенацию всего этого засовываешь в cx якобы это координата деленная пополам. А это частное к которому приставлен остаток. Добавлено через 53 секунды Тупо почитай что на что делит div и куда сует результаты в двух случаях - когда делитель байт и когда делитель слово. Тебе надо было использовать вариант когда делитель - слово. Тогда и частное - слово и любая координата на экране в него влезет. Добавлено через 1 минуту А вообще весь тобой закомментированный кусочек заменяется на одну команду shr cx,1 и никакого тебе деления на ноль. Потому-что сдвиг беззнакового на бит вправо это и есть деление на два.
4
|
0 / 0 / 0
Регистрация: 14.05.2019
Сообщений: 22
|
|
09.06.2019, 11:57 [ТС] | 3 |
Спасибо тебе огромное.
Ведь и все вроде знаю, и команду shr, и то, как div ведет себя в зависимости от размера делителя, но когда дело доходит до практики то все забывается. Не знаю, что бы делал без тебя
0
|
09.06.2019, 11:57 | |
09.06.2019, 11:57 | |
Помогаю со студенческими работами здесь
3
Ошибка - деление на ноль Деление на ноль - ошибка Ошибка деление на ноль Ошибка: деление на ноль Ошибка - деление на ноль Ошибка деление на ноль Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP
В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
|
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
|
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
|
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|