📜  门| GATE-CS-2017(套装1)|第 38 题

📅  最后修改于: 2021-09-25 06:23:46             🧑  作者: Mango

考虑表达式 (a-1) * ((( b + c ) / 3 )) + d))。设 X 是加载/存储架构的最佳代码生成(无任何寄存器溢出)算法所需的最小寄存器数,其中

(i) 只有加载和存储指令可以有内存操作数和
(ii) 算术指令只能有寄存器或立即数操作数

X 的值是________。

注意:此问题显示为数字答案类型。
(一) 2
(乙) 1
(三) 4
(四) 3答案:(一)
说明:使用加载/存储架构的汇编代码可以写成如下:

Load R1, b

Load R2, c

ADD R1, R2

Div R1, 3

Load R2, d

Add R1, R2

Load R2, a

Sub R2, 1

Mul R2, R1

因此至少需要 2 个寄存器。

该解释由Sonal Kukreja 提供。
这个问题的测验