Деление -7 / -32 - Assembler

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

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

emu8086 По заданию надо разделить -7 на -32. С положительными числами ( 7/32 )все правильно получаю в АX=#0000 в DX=#0007. Частное в AX равно 0 и остаток в DX равен 7. А с отрицательными немного не догоняю откуда такие результаты.
Листинг программы
  1. MOV AX,X1 ;X1/X3 Х1=-7 Х3=-32
  2. MOV DX,0
  3. MOV BX,X3
  4. IDIV BX
  5. MOV X1,AX
В итоге имею в регистре АХ = #F801, DX = #0019

Решение задачи: «Деление -7 / -32»

textual
Листинг программы
  1. MOV AX,X1   ;X1/X3
  2.     CWD  ;расширение делимого со знаком ax -> dx:ax
  3.     MOV BX,X3
  4.     IDIV BX
  5.     MOV X1,AX

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

  1. MOV AX,X1 — в этой инструкции происходит перенос содержимого регистра X1 в регистр AX.
  2. CWD — расширение делимого со знаком, ax -> dx:ax
  3. MOV BX,X3 — в этой инструкции происходит перенос содержимого регистра X3 в регистр BX.
  4. IDIV BX — деление AX на BX, результат сохраняется в регистре AX, остаток от деления сохраняется в регистре DX.
  5. MOV X1,AX — в этой инструкции происходит перенос содержимого регистра AX в регистр X1.

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


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

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

15   голосов , оценка 3.6 из 5

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

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

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