Składanie MASM do obsługi liczb całkowitych ujemnych

Polecono mi napisać program w zespole, który przeprowadzi następującą arytmetykę:

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

Udało mi się to zrobić, gdy nie grają żadne wartości ujemne, ale załóżmy, że A = 5, B = 4, C = 3, D = 2 i E = 1. To daje nam ((5 + 4) / 3 ) * ((2 - 5) + 1) lub -6.

tu potrzebuję pomocy. Zrobiłem kilka badań i uznałem komplement 2 za rozwiązanie, ale nie jestem pewien, czy zaimplementuję go w moim kodzie.

Gdyby ktoś mógł mi pomóc, byłbym bardzo wdzięczny!

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

* Dziel i mnożyć procedury dzielą się i mnożą odpowiednio.

questionAnswers(2)

yourAnswerToTheQuestion