Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Деление двоичных чисел без знака



Для деления чисел без знака предназначена команда

DIV делитель.

Делитель может находиться в памяти или в регистре и иметь размер 8, 16 или 32 разряда. Местонахождение делимого фиксировано и так же, как в команде умножения, зависит от размера операндов. Результатом команды деления являются частное и остаток.

Таблица 9. – Расположение операндов и результата при делении

Делимое Делитель Частное Остаток
Слово (16 бит) в регистре AX Байт в регистре или в ячейке памяти Байт в регистре AL Байт в регистре AH
Двойное слово (32 бит), в DX – старшая часть, в AX – младшая часть Слово (16 бит) в регистре или ячейке памяти Слово (16 бит) в регистре AX Слово (16 бит) в регистре DX
Учетверённое слово (64 бит), в EDX – старшая часть, в EAX – младшая часть Двойное слово (32 бит) в регистре или ячейка памяти Двойное слово (32 бит) в регистре EAX Двойное слово (32 бит) в регистре EDX

После выполнения деления содержимое флагов неопределенно, но возможно возникновение прерывания с номером 0, называемого “деление на ноль”. Прерывание 0 при выполнении команды div может возникнуть из-за следующих причин:

· делитель равен нулю;

· частное не входит в отведенную для него разрядную сетку.

Рассмотрим деление значения в области del на значение в области delt:

.data

del_b label byte

del dw 29876

del_t db 45

.code

xor ax,ax

;следующие две команды можно заменить одной mov ax,del

mov ah,del_b;старший байт делимого в ah

mov al,del_b+1;младший байт делимого в al

div delt;в al – частное, в ah – остаток





Дата публикования: 2014-12-08; Прочитано: 452 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...