Сборка MASM Работа с отрицательными целыми числами

Мне было поручено написать программу на ассемблере, которая будет выполнять следующую арифметику:

((A + B) / C) * ((D - A) + E) I '

Нам удалось это сделать, когда в игру не вошли отрицательные значения, но предположим, что A = 5, B = 4, C = 3, D = 2 и E = 1. Это дает нам ((5 + 4) / 3) * ((2 - 5) + 1) или -6.

это где мне нужна помощь Я'мы провели некоторое исследование и нашли 2 'комплимент, чтобы быть решением, но яЯ не уверен, чтобы реализовать это в моем коде.

Если бы кто-то мог мне помочь, я быБуду очень признателен!

INCLUDE Irvine32.inc
; ((A + B) / C) * ((D - A) + E)
.data
valA dword 1
valB dword 2
valC dword 3
valD dword 4
valE dword 5

.code
main PROC

    mov ecx, valA
    add ecx, valB
    mov edx, valC
    call Divide
    mov ecx, eax
    mov edx, valD
    sub edx, valA
    add edx, valE
    call Multiply

    exit

main ENDP

* Процедуры деления и умножения делят и умножают соответственно.

Ответы на вопрос(2)

Ваш ответ на вопрос