Сборка 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
* Процедуры деления и умножения делят и умножают соответственно.