Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чем проблема (переполнение деления), переполнение деления 
:(
    Опции темы
ciget
  Дата 2.9.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.3.2005

Репутация: нет
Всего: нет



Почему код 
Код

.model small
.stack 100h
.data
    ten        dw 10
    string    db 5 dup (?)
.code
start:
    mov ah,2ah
    int 21h
    mov dl, al
    xor ax, ax
    mov al, dl
    mov bx, 7
    mov ax, 7
    div bx
    mov dl, ah
    mov ah,02h
    add dl,30h
    int 21h
    mov ah,4ch
    int 21h
end start

Вызывает ошибку - переполнение деления
Огромное спасибо
PM MAIL   Вверх
sgi1981
Дата 3.9.2007, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Если в регистре dx будет беззнаковое значение равное или больше 7 - будет переполнение деления.
Мне неизвестно, что было в регистре al после первой инструкции int 21h.
Мне неизвестно, что было в регистре dh после первой инструкции int 21h.
Регистр dh - старший байт регистра dx, и он не участвовал в приведенной последовательности инструкий до операции деления, но в него могли записать значение какие-нибудь другие подпрограммы.

Это сообщение отредактировал(а) sgi1981 - 3.9.2007, 01:50


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
xseroxas
Дата 24.9.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Код

.model small
.stack 100h
.data
.code
start :
mov ax,@data
mov ds,ax

mov bx,10
mov ax,1123

div bx

add dl,30h

mov ah,02h
int 21h

mov ax,4c00h
int 21h

end start
  У меня то самое в debugere dx=0003 после деленияб что нитак????
PM MAIL   Вверх
dumb
Дата 24.9.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 4
Всего: 158



Цитата(xseroxas @  24.9.2007,  17:10 Найти цитируемый пост)
что нитак?
после деления в dx помещается остаток от деления. и, в данном случае(div reg16), перед делением dx нужно обнулять.
PM MAIL   Вверх
xseroxas
Дата 24.9.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



спасиба smile забыл обнулит
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.