Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 06.03.2015
Сообщений: 75
1

Переполнение регистра на assembler

26.03.2015, 16:26. Показов 2847. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как в программе сделать проверку переполнения регистра ?

Assembler
1
2
3
4
   mov   ax,4000H  ;делимое
   mov   bl,2      ;делитель - байт, поэтому частное - тоже байт (AL)
   div   bl        ;4000H/2 = 2000H, что не умещается в байте AL
                     ;поэтому выполняется прерывание INT 00H
и заодно проверку деления на ноль )
Assembler
1
2
mov   bx,0
div   bx
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2015, 16:26
Ответы с готовыми решениями:

Переполнение регистра
Написал программу которая вычисляет свободное и занятое пространство на диске, но при запуске в АХ...

Как записать информацию из 16 битного регистра в два регистра по 8 бит
Как записать информацию из 16 битного регистра в два регистра по 8 бит. (То есть каждый раз может...

Как реализовать в LPT взаимосвязь статус регистра и регистра данных
Как реализовать в LPT взаимосвязь статус регистра и регистра данных. Чтобы при изменении сигнала...

Строки: все буквы малого регистра заменить большими, а большого регистра малыми
введенной строке все буквы малого регистра заменить большими,а большого регистра малыми

5
Terminator of naked apes
832 / 139 / 34
Регистрация: 13.02.2015
Сообщений: 328
26.03.2015, 21:31 2
Roman8, вот здесь посмотри, например ;о)
0
0 / 0 / 1
Регистрация: 06.03.2015
Сообщений: 75
26.03.2015, 23:44  [ТС] 3
KyberMax,
а так можно ?
Assembler
1
2
3
4
5
mov dx, 0
mov ax, 4000H
mov bx, 2
div bx
; частное в ax, остаток в dx
0
593 / 390 / 70
Регистрация: 29.03.2013
Сообщений: 813
27.03.2015, 12:27 4
Цитата Сообщение от Roman8 Посмотреть сообщение
а так можно ?
Можно, для беззнаковых чисел.
0
0 / 0 / 1
Регистрация: 06.03.2015
Сообщений: 75
27.03.2015, 19:53  [ТС] 5
а что если делимое будет больше, чем 4000H (например, 65000) результат же не поместиться в регистр ax;
0
593 / 390 / 70
Регистрация: 29.03.2013
Сообщений: 813
28.03.2015, 05:37 6
Roman8, ты используешь команду деления беззнаковых величин. в 16-ти битный регистр можно поместить число без знака из диапазона от 0 до 65535. Поэтому даже если в AX будет 65535, в DX - 0, а в BX - 1, то при выполнении команды
Assembler
1
div bx
переполнения не произойдёт, ибо частное полностью поместится в AX.

Добавлено через 1 минуту
И вообще, что мешает взять отладчик и проверить?
0
28.03.2015, 05:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2015, 05:37
Помогаю со студенческими работами здесь

Преобразовать буквы от k до х нижнего регистра в соответствующие верхнего регистра
Написать программу, выполняющую действия со строкой символов . Для модификации символов...

Выполнить перевод всех символов этой строки из верхнего регистра в нижний, а из нижнего регистра в верхний
1. Ввести множество, запись или строку с помощью клавиатуры. 2. Вывести на экран монитора исходную...

Выборка данных из регистра сведений и регистра остатков
Нужно написать отчет по з.п, продавцы получают з.п в зависимости от того сколько они продали, т.е...

Написать функцию которая в строке заменяет все символы верхнего регистра в символы нижнего регистра
Здравствуйте. помогите написать программу. Написать функцию которая в строке заменяет все символы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru