Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364

Действие команды div

15.01.2012, 10:11. Показов 15401. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
DIV Команда выполняет целочисленное деление без учёта знака. Делимое задается неявно,
и его размер зависит от размера делителя, который явно указывается в команде.
Местоположения делимого, делителя, частного и остатка — в зависимости от их размерности:

Assembler
1
2
3
4
5
6
7
use16
org 100h
    mov ax,01;в первую пару регистра ax помещаем число 01
    mov dx,15;во вторую пару регистра dx помещаем число 15
    mov bx,2; в регистр bx помещаем делитель 2
    div bx;делим на 2
    int 00
а почему в отладчике получаються совсем другие результаты?
ax - 121ah
dx -1ee
если должно получится
ax - 39h
dx -5h
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2012, 10:11
Ответы с готовыми решениями:

действие команды
Здравствуйте. Расскажите пожалуйста о команде jmp. Как она находит адрес перехода, куда записывает. никак не могу найти точную информацию

Особенности команды div
как объяснить, то что при выполнении команд: byte1 db 01h byte2 db 0ffh mov al,byte1 div byte2в регистр ax ворачивается значение...

Странное поведение команды div
Есть примерно такой код: mov al, 64 mov cl, 2 div cl При выполнении команды div происходит приостановка...

47
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 19:41
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
Да знаю я что такое деление с остатком
деление с остатком - это результат деления не помещаеться в частное
Поверьте мне - не знаете и поэтому изучите,что должно оставаться в остатке.

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
всмысле обмолвился я разве сказал ненормальное?
Вы упрекнули меня, по поводу, что я сказал, что это нормально завершение работы.
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 19:44  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Вы упрекнули меня, по поводу, что я сказал, что это нормально завершение работы.
нормальное завершение работы.
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Поверьте мне - не знаете и поэтому изучите,что должно оставаться в остатке.
да почему это не знаю примерно знаю
ток почему в остатке 1 а не 5 ?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 20:12
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
ток почему в остатке 1 а не 5 ?
Потому что 1 и должно быть.
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
18.01.2012, 17:37  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Потому что 1 и должно быть.
дак вы объясните почему 1 в остатке возникает?
0
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
18.01.2012, 18:22
ТотКтоНадо, вот у меня программа деления byte/byte

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Include macro.lib
Data segment ; byte/byte
      a db ?
      d db ?
Data ends
Sst segment stack
      db 128 dup (?)
Sst ends
Code segment
assume CS:Code, DS:Data, SS:Sst
begin:
      mov Ax,Data
      mov DS,Ax
      Key_$2bin
      crlf
 
      mov Bx,Ax
      Key_$2bin
      crlf
 
      mov Si,Ax
      mov Ax,Bx
      div Bx
      print_number
 
      mov Ax,4C00h
      int 21h
 
Code ends
end begin
Добавлено через 6 минут
А вот еще word/word



Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Data segment  ; word/word
      a dw 3 
      d dw -8
 
Data ends
Sst segment stack
      db 128 dup (?)
Sst ends
Code segment
assume CS:Code, DS:Data, SS:Sst
begin:
      mov dx,Data
      mov DS,dx 
      mov Ax,d
      CWD
      idiv a
     
      mov Ax,4C00h
      int 21h
 
Code ends
end begin
Добавлено через 3 минуты
ТотКтоНадо, Кстати если вы использовали div

значит

mov Ax,15 ; Ax=15
mov Bx,2 ; Bx=2
div Bx ; Ax/Bx или 15/2 = 7 целое и 1 остаток, т.к. 14/2=7 , а остаток 1 на 2 не делится....



Goodwin98, я прав??
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
18.01.2012, 18:25
Цитата Сообщение от Noclip Посмотреть сообщение
Goodwin98, я прав??
Только вы не учли, что делится не просто AX на BX, а DX:AX на BX, т.к. делимое в 2 раза больше по размерности делителя, поэтому нельзя забывать о содержимом DX, при делении.
Но мне бы хотелось, чтобы ТС сам наконец хоть до чего-то дошел.

Добавлено через 47 секунд
Цитата Сообщение от Noclip Посмотреть сообщение
ТотКтоНадо, вот у меня программа деления byte/byte
Не все смогут использовать код с макросами, потому что и макросы эти не у всех есть, да и компиляторы разные. У ТС, например, fasm. Да и если честно какой-то не оптимальный код. Лишние переменные, например....
0
32 / 32 / 4
Регистрация: 19.12.2011
Сообщений: 72
23.01.2012, 19:08
А, собственно, откуда число 115? если в DX - 0FH (15), а в AX - 01H (1), то это число 000F0001H (983041).
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
23.01.2012, 19:17
Цитата Сообщение от kisssko Посмотреть сообщение
А, собственно, откуда число 115? если в DX - 0FH (15), а в AX - 01H (1), то это число 000F0001H (983041).
Это уже решили, на какой-то из страниц темы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2012, 19:17

Не используя команды div, sub или idiv поделить число на 4
mov AL,number sar AL,2 number db ? Вот это кусочек программа для деления на 8, но нужно на 4, а я не как не вдуплюсь, как это...

Без использования команды div организовать беззнаковое деление на 8
Как без использования команды div организовать беззнаковое деление на 8?

Найти остаток от деления двух без знаковых чисел, не используя команды mul, div
привет, нужно найти остаток от деления двух без знаковых чисел, не используя команды mul, div. Можно использовать ANL (AND), сдвиг...

Вывести на экран частное и остаток от деления двух чисел. Без использования команды DIV
Здравствуйте! Помогите пожалуйста понять как программировать в MASM... Нужно решить следующую задачу: Вывести на экран частное и остаток...

Действие вне диапазона div
Собственно говоря есть div с id='one'. Нужно чтобы при клике вне диапазона id='one' выводилось alert('111'). А соответственно при клике на...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru