Сумма 4 значных чисел - Assembler

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

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

Сложить четырехзначные числа, регистр ax, учесть carry flag, как работает daa (корректирует только al), тип данных должен быть dw
Листинг программы
  1. C dw 9991h
  2. D dw 0009h
  3. E dw 0h
  4. mov ax, [C]
  5. mov bx, [D]
  6. ;add ax, bx
  7. adc ax, bx
  8. AAA
  9. mov cx, ax
Коррекция работает только на последних байтах. Помогите откорректировать все 4. Чтобы писал не 9A00, а 0000

Решение задачи: «Сумма 4 значных чисел»

textual
Листинг программы
  1.         mov     al,     byte ptr [c]
  2.         add     al,     byte ptr [d]
  3.         aaa
  4.         mov     byte ptr [e], al
  5.  
  6.         mov     al,     byte ptr [c+1]
  7.         adc     al,     byte ptr [d+1]
  8.         aaa
  9.         mov     byte ptr [e+1], al

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

  1. Переменная c содержит первое число (в регистре al).
  2. Переменная d содержит второе число (в регистре al).
  3. Переменная e содержит сумму двух предыдущих чисел (в регистре al).
  4. Переменная c+1 содержит третье число (в регистре al).
  5. Переменная d+1 содержит четвертое число (в регистре al).
  6. Переменная e+1 содержит сумму двух предыдущих чисел (в регистре al).

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


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

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

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

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

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

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