2
我想獲得一些幫助這個表達式轉換成4種方法的命令:轉換式進通用寄存器操作模式
z=3*(x+2)-2*y
這裏是我的嘗試的方法:
通過堆棧:
push 2
push -1
mult
push y
mult
push x
push 2
add
push 3
mult
add
pop z
由累加器:
load y
mult -2
store temp
load x
add 2
mult 3
add temp
store z
寄存器內存:
add R1, x, 2
mult R1, R1, 3
mult R2, y, -2
add z, R1, R2
登記註冊:
load R1, x
add R1, R1, 2
mult R1, R1, 3
load R2, y
mult R2, R2, -2
add R1, R1, R2
store z, R1
是它好嗎?我可以使用負數(-2 ...)嗎?
謝謝!
謝謝你,你是對的,我的意思寫:「添加z,R1,R2」。另一個問題:你知道「sub」命令的順序是什麼嗎?例如:push x push y sub會是什麼操作? X-Y?或者y-x?在我的問題中,這四種方法之間的解釋存在差異嗎?再次感謝! – user9
我不可能知道這樣一個「子」操作的順序是什麼,因爲我與你相反,沒有一個手冊來說明所有這些操作是做什麼的。在_by accumulator_版本中,當前的訂單將是正確的,因爲它將其結果留在訂單中! (我已經添加了這個答案) – Fifoernik