Я пытаюсь написать это выражение A = (B × (C + D × (E × F))) ÷ (E × (C + D)), используя набор команд, где каждая инструкция не имеет операндов (кроме два, которые должны иметь каждый).Как написать выражение в сборке без операндов?
Это пример из книги, что я следовал: Выражение г = х * у + ш * и
Код:
PUSH x
PUSH y
MULT
PUSH w
PUSH u
MULT
ADD
STORE z
То, что я сделал:
PUSH E
PUSH F
MULT
PUSH D
MULT
PUSH C
ADD
PUSH B
MULT
STORE Z (store the result)
PUSH C
PUSH D
ADD
PUSH E
MULT
PUSH Z
DIVIDE
STORE A
Я не уверен в том, как я записал результат, и деление кажется неправильным. Есть ли лучший способ написать выражение?
Обновлено:
PUSH C
PUSH D
ADD
PUSH E
MULT
PUSH E
PUSH F
MULT
PUSH D
MULT
PUSH C
ADD
PUSH B
MULT
DIVIDE
STORE A
Правильно ли обновленная версия? –