Деление со знаком - Assembler
Формулировка задачи:
Нужно разделить две переменные размером в слово, и поместить результат в переменную у. как это сделать с помощью idiv?
Решение задачи: «Деление со знаком»
textual
Листинг программы
.data A dw 4630h ; делимое B dw 2520h ; делитель Y dw 0,0 ; 2 слова - целое и остаток .code start: ; mov ax,[A] ; xor dx,dx ; очищаем место под остаток idiv [B] ; mov [Y],ax ; сохраняем целое mov [Y+2],dx ; ..и остаток
Объяснение кода листинга программы
- В сегменте .data объявлены три переменные: A) dw 4630h — делимое, B) dw 2520h — делитель, Y) dw 0,0 — две переменные (целое и остаток),
- В сегменте .code находится точка входа start:
- Первый шаг — переместить значение делимого в регистр ax: mov ax,[A]
- Очистить место под остаток: xor dx,dx
- Выполнить деление: idiv [B]
- Сохранить целое в переменную Y: mov [Y],ax
- Сохранить остаток в переменную Y+2: mov [Y+2],dx
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д