Деление со знаком - 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       ;        ..и остаток

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

  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