📜  门| GATE-CS-2017(Set 1)|第38章

📅  最后修改于: 2021-06-29 22:07:44             🧑  作者: Mango

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

(i)只有加载和存储指令才能具有内存操作数,并且
(ii)算术指令只能有寄存器或立即数操作数

X的值为________。

注意:此问题显示为数值答案类型。
(A) 2
(B) 1
(C) 4
(D) 3答案: (A)
说明:使用装入/存储体系结构的汇编代码可以编写如下:

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提供。
这个问题的测验