Деление со знаком - Assembler

Узнай цену своей работы

Формулировка задачи:

Нужно разделить две переменные размером в слово, и поместить результат в переменную у. как это сделать с помощью idiv?

Решение задачи: «Деление со знаком»

textual
Листинг программы
  1. .data
  2. A   dw  4630h            ; делимое
  3. B   dw  2520h            ; делитель
  4. Y   dw  0,0              ; 2 слова - целое и остаток
  5.  
  6. .code
  7. start:                   ;
  8.     mov   ax,[A]         ;
  9.     xor   dx,dx          ; очищаем место под остаток
  10.     idiv  [B]            ;
  11.  
  12.     mov   [Y],ax         ; сохраняем целое
  13.     mov   [Y+2],dx       ;        ..и остаток

Объяснение кода листинга программы

  1. В сегменте .data объявлены три переменные: A) dw 4630h — делимое, B) dw 2520h — делитель, Y) dw 0,0 — две переменные (целое и остаток),
  2. В сегменте .code находится точка входа start:
  3. Первый шаг — переместить значение делимого в регистр ax: mov ax,[A]
  4. Очистить место под остаток: xor dx,dx
  5. Выполнить деление: idiv [B]
  6. Сохранить целое в переменную Y: mov [Y],ax
  7. Сохранить остаток в переменную Y+2: mov [Y+2],dx

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут