Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/70: Рейтинг темы: голосов - 70, средняя оценка - 4.83
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364

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

15.01.2012, 10:11. Показов 15406. Ответов 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
15.01.2012, 18:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
ну получилось 5 в остатке 151 не делеться вот и получилось 5
Ну а почему не 8 например или не 3 ?

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
тогда чем отличаються функции int 00h Fn 4ch int 21h?
Это разные функции. Больше вам не нужно знать.


Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
так dx 15 ax 1

Что вы видите на скрине в dx и в ax ?
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
16.01.2012, 15:58  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Это разные функции. Больше вам не нужно знать.
как это не нужно знать функции разные назначение одинаковое.

Цитата Сообщение от Goodwin98 Посмотреть сообщение
Что вы видите на скрине в dx и в ax ?
число 151. Я же вам говорил

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
ааа я кажеться понял нужно поменять местами регистры DX:AX получаеться число 151
Что за фигня. Я узнать хочу почему отладчик показывает совсем другие значения? Когда он должен показать в ax число 004B он показывает 121A и в dx 0005 когда он показывает 0556. Я узнать хочу что за фигня такая? Или я что не то в коде написал или отладчик такой? Нет ты мне свои вопросы задаеш
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
16.01.2012, 16:15
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
как это не нужно знать функции разные назначение одинаковое.
функции разные и назначение разное.

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
число 151. Я же вам говорил
Ткните меня туда где вы нашли это число на скрине.

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
Что за фигня. Я узнать хочу почему отладчик показывает совсем другие значения? Когда он должен показать в ax число 004B он показывает 121A и в dx 0005 когда он показывает 0556. Я узнать хочу что за фигня такая? Или я что не то в коде написал или отладчик такой? Нет ты мне свои вопросы задаеш
Ошибка у вас в вашей логике одна на другой и третьей подгоняет.
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
16.01.2012, 16:37  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Ткните меня туда где вы нашли это число на скрине.


Цитата Сообщение от Goodwin98 Посмотреть сообщение
функции разные и назначение разное.
int 00h завершить программу
fn 4ch завершить программу EXIT
int 20h завершить программу
не должно же такого
и почему у одних функциях int у других fn и вобще int это функция ассемблера которая вызывает программные прерывания

Ошибка у вас в вашей логике одна на другой и третьей подгоняет.
и какая ошибка в моей логике?
0
15 / 22 / 6
Регистрация: 13.10.2011
Сообщений: 167
16.01.2012, 16:44
ТотКтоНадо вы так много задаёте буквально элементарных вопросов,не проще ли скачать книгу и в ней посмотреть?
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
16.01.2012, 16:45  [ТС]
Цитата Сообщение от Typoii Посмотреть сообщение
ТотКтоНадо вы так много задаёте буквально элементарных вопросов,не проще ли скачать книгу и в ней посмотреть?
я справку скачал
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
16.01.2012, 16:59
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
http://s04.***********/i177/1201/46/cc448de8108d.jpg
Во первых это не тот скрин, во вторых вы можете дословно написать что находится в dx и в ax на первом скрине со всеми нулями и прочим ?
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
int 00h завершить программу
Это ошибочные сведения. Она для другого.
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
и какая ошибка в моей логике?
А как вы думаете, если я пытаюсь вас прочитать содержимое регистров, пытаюсь вас заставить объяснить что такое деление с остатком и сказал вам о том, что всплывающее сообщение это сообщение о вылете прогрммы, то как вы думаете, на какие 3 ошибки в вашей логике я вам намекаю ?))
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
16.01.2012, 17:23  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Во первых это не тот скрин,


Цитата Сообщение от Goodwin98 Посмотреть сообщение
во вторых вы можете дословно написать что находится в dx и в ax на первом скрине со всеми нулями и прочим ?
на первом скрине DX 000F AX 0001. Тока зачем вам первый скрин? На втором скрине же все результаты

Цитата Сообщение от Goodwin98 Посмотреть сообщение
Это ошибочные сведения. Она для другого.
всмысле ошибочные значит мой справочник врет?

Цитата Сообщение от Goodwin98 Посмотреть сообщение
А как вы думаете, если я пытаюсь вас прочитать содержимое регистров, пытаюсь вас заставить объяснить что такое деление с остатком и сказал вам о том, что после всплывания сообщения об ошибке данные неверны, то как вы думаете, на какие 3 ошибки в вашей логике я вам намекаю ?
вы что хотите сказать что на калькуляторе в резульатате должно было получилться число 4 634,494?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
16.01.2012, 18:30
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
на первом скрине DX 000F AX 0001.
DX : AX
000f:0001
Где вы нашли 151 ? Или по вашему число f0001 это и есть 151 ?

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
всмысле ошибочные значит мой справочник врет?
Либо да, либо вы неверно его поняли.


Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
вы что хотите сказать что на калькуляторе в резульатате должно было получилться число 4 634,494?
Я хочу сказать что в вашем мышлении есть 3 ошибки и всю дорогу я хочу, чтобы вы до них догадались.
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
16.01.2012, 20:08  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
DX : AX 000f:0001 Где вы нашли 151 ? Или по вашему число f0001 это и есть 151 ?
пара 000f:0001 и есть 151
Я хочу сказать что в вашем мышлении есть 3 ошибки и всю дорогу я хочу, чтобы вы до них догадались.
слушай что значит ошибка 256?

Добавлено через 58 минут
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
слушай что значит ошибка 256?
и 0?-----------------
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
16.01.2012, 20:10
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
пара 000f:0001 и есть 151
А у вас не возникло мысли, что я не просто так об этом говорю и что возможно вы не правы и что стоит как-то по другому подумать ?)
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
слушай что значит ошибка 256?
таблицу кодов этих ошибок не видел, но в данном случае это переполнение деления.
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
и 0?-----------------
?
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 16:48  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
А у вас не возникло мысли, что я не просто так об этом говорю и что возможно вы не правы и что стоит как-то по другому подумать ?)
Слушай я кажеться на шел ошибку.
при коде use16
Code
1
2
3
4
org 100h
    mov ax,10
    mov bx,2
    div bx
все правильно получилось 10 поделил на 2 получилось 5. Тока почему эта 5 вылезла в ax если должна вылезти в al ? А регистра al нету. Что за фигня?
Я перечитал то прошлый свой код
Code
1
2
3
4
5
6
use16 org 100h   
  mov ax,01;в первую пару регистра ax помещаем число 01    
 mov dx,15;во вторую пару регистра dx помещаем число 15    
 mov bx,2; в регистр bx помещаем делитель 2    
 div bx;делим на 2    
 int 00
оказываеться я использую 8 разрядное число Получаеться я просто делил число 1 на 2 получаеться и выскакивает переполнение деления

Цитата Сообщение от Goodwin98 Посмотреть сообщение
?
что значит ошибка 0?
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 17:16
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
Тока почему эта 5 вылезла в ax если должна вылезти в al ? А регистра al нету. Что за фигня?
Вам это уже не раз объясняли либо на этом, либо на другом форуме. Если вы не запоминаете, то зачем вообще спрашиваете ?

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
оказываеться я использую 8 разрядное число Получаеться я просто делил число 1 на 2 получаеться и выскакивает переполнение деления
Как я уже писал, вы делите f0001h или 983041 на 2. Но почему-то вы упорно не хотите этого замечать.


Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
что значит ошибка 0?
нормальное завершение работы.
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 17:33  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
Вам это уже не раз объясняли либо на этом, либо на другом форуме. Если вы не запоминаете, то зачем вообще спрашиваете ?
Вот это я полюбому не спрашивал. Страницу покажите

Цитата Сообщение от Goodwin98 Посмотреть сообщение
Как я уже писал, вы делите f0001h или 983041 на 2. Но почему-то вы упорно не хотите этого замечать.
так это вы не показывали. Там же не написано что я использовал 16 разрядный регистр. Слушай фигня какая то непонятная возникает. Написал код
Code
1
2
3
4
5
6
use16
org 100h
mov dx,10
    mov ax,10
    mov bx,2
    div bx
опять это 256 выскакивает
убираю mov dx,10 все работает нормально. Что за фигня вобще. Я его недопонимаю. Объясни мне
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 17:50
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
Вот это я полюбому не спрашивал. Страницу покажите
на этом форуме запрещены ссылки на другие форумы, но например тут
https://www.cyberforum.ru/asse... 24833.html


Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
так это вы не показывали.
да ну ?

Цитата Сообщение от Goodwin98 Посмотреть сообщение
DX : AX
000f:0001
Где вы нашли 151 ? Или по вашему число f0001 это и есть 151 ?
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
Там же не написано что я использовал 16 разрядный регистр
Это есть в описании команды div. Если в вашем справочнике этого нет, то смотрите в другом.

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
опять это 256 выскакивает
убираю mov dx,10 все работает нормально. Что за фигня вобще. Я его недопонимаю. Объясни мне
Все было сказано выше и не раз.

Посмотрите в отладчике, что у вас в 2 регистрах:
1. в dx (все 16 бит)
2. в ax (все 16 бит)
и полученное число вы делите
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 18:34  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
на этом форуме запрещены ссылки на другие форумы, но например тут сжатый и не сжатый результат?
ааа теперь я понял подзабыл чучуть на al смотреть все равно что смотреть на ax

Цитата Сообщение от Goodwin98 Посмотреть сообщение
да ну ?
дааа вы тока вопросы задавали а я все понял тока с 31 ответа а мог наверна с 1

Цитата Сообщение от Goodwin98 Посмотреть сообщение
Все было сказано выше и не раз.
да с ваших вопрос я понял тока что число 983041 делил на 2. И от инструкции int 20h выскакивают числа в ax 121ah и в dx 1ee
интересная фигня
Code
1
2
3
4
5
6
7
use16
org 100h
    mov dx,0
    mov ax,151
    mov bx,2
    div bx
    int 20h
151/2=75,5 но остаток выскакивает в dx тока 1
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 18:46
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
дааа вы тока вопросы задавали а я все понял тока с 31 ответа а мог наверна с 1
А почему ж вам ни разу в голову не пришло, что я не так просто их задаю, хотя я даже прямо об этом говорил ?)

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
И от инструкции int 20h выскакивают числа в ax 121ah и в dx 1ee
интересная фигня
она завершает работу программы. Опять таки вы почему-то упорно игнорируете, что после всплывающего окна, программа считается завершенной и все значения регистров ничего не значат.

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
151/2=75,5 но остаток выскакивает в dx тока 1
Ну а зачем по вашему я хотел, чтобы вы посмотрели что такое деление с остатком ?)
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 18:55  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
она завершает работу программы. Опять таки вы почему-то упорно игнорируете, что после всплывающего окна, программа считается завершенной и все значения регистров ничего не значат.
так там ошибка 0 ты сам сказал что это нормальное завершение.
И от инструкции int 20h выскакивают числа в ax 121ah и в dx 1ee
Это я заметил на одну из особенностей функции int 20h
интересная фигня
относиться к 151/2=75,5 но остаток выскакивает в dx тока 1
Ну а зачем по вашему я хотел, чтобы вы посмотрели что такое деление с остатком ?)
но в остатке должно остаться 5 1h он и есть 1 а 5h он и есть 5 так что там должна выскочить 5.
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
17.01.2012, 19:21
Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
так там ошибка 0 ты сам сказал что это нормальное завершение.

Цитата Сообщение от Goodwin98 Посмотреть сообщение
она завершает работу программы. Опять таки вы почему-то упорно игнорируете, что после всплывающего окна, программа считается завершенной и все значения регистров ничего не значат.
я где-то обмолвился, про ненормальное завершение ?

Цитата Сообщение от ТотКтоНадо Посмотреть сообщение
но в остатке должно остаться 5 1h он и есть 1 а 5h он и есть 5 так что там должна выскочить 5.
Интересно, а каким еще образом вам сказать, чтобы вы прочитали\узнали\вспомнили\придумали заново о делении с остатком и отличие его от просто деления ?))
0
 Аватар для ТотКтоНадо
-8 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 364
17.01.2012, 19:34  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
я где-то обмолвился, про ненормальное завершение ?
всмысле обмолвился я разве сказал ненормальное?
Интересно, а каким еще образом вам сказать, чтобы вы прочитали\узнали\вспомнили\придумали заново о делении с остатком и отличие его от просто деления ?))
Да знаю я что такое деление с остатком
деление с остатком - это результат деления которое не помещаеться в частное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2012, 19:34

Не используя команды 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'). А соответственно при клике на...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
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 ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru