Сумма 4 значных чисел - Assembler
Формулировка задачи:
Сложить четырехзначные числа, регистр ax, учесть carry flag, как работает daa (корректирует только al), тип данных должен быть dw
Коррекция работает только на последних байтах. Помогите откорректировать все 4. Чтобы писал не 9A00, а 0000
C dw 9991h D dw 0009h E dw 0h mov ax, [C] mov bx, [D] ;add ax, bx adc ax, bx AAA mov cx, ax
Решение задачи: «Сумма 4 значных чисел»
textual
Листинг программы
mov al, byte ptr [c] add al, byte ptr [d] aaa mov byte ptr [e], al mov al, byte ptr [c+1] adc al, byte ptr [d+1] aaa mov byte ptr [e+1], al
Объяснение кода листинга программы
- Переменная
cсодержит первое число (в регистреal). - Переменная
dсодержит второе число (в регистреal). - Переменная
eсодержит сумму двух предыдущих чисел (в регистреal). - Переменная
c+1содержит третье число (в регистреal). - Переменная
d+1содержит четвертое число (в регистреal). - Переменная
e+1содержит сумму двух предыдущих чисел (в регистреal).