Для задачи A:x×if a>b then(c+d):f else c+(a×f);B:=ifA>0 then a×b:f else A×(c+f)
представьте программы линейных участков в безадресной форме. Составьте план использования неограниченного числа быстрых регистров (СОЗУ) для хранения промежуточных результатов счета. Сколько регистров потребуется?
(Отметьте один правильный вариант ответа.)
Варианты ответа
x if ab>then cd+ f: else caf×+× ЗnА; if A0> then ab× f: else Acf+× ЗnВ → x if r1 then r2 f: else cr3+× ЗnА; if r4 then r5 f: else Ar6× ЗnВ → x if r1 then r7 else r8×ЗnА; if r4 then r9 else r10 ЗnВ → xr11× ЗnА; ЗnВ.Требуется 11 быстрых регистров(Верный ответ)
x if ab> then cd+ f: else caf×+× ЗnА; if A0>then ab× f: else Acf+× ЗnВ → x if r1 then r2 f: else cr3+× ЗnА; if r4 then r5 f: else Ar6×ЗnВ → x if r1 then r7 else r8× Зnr9; if r4 then r10 else r11 ЗпВ → xr12×ЗnА; ЗпВ.Требуется 12 быстрых регистров
x if ab> then cd+ f: else caf×+× ЗnА; if A0> then ab× f: else Acf+× ЗnВ → x if r1 then r2 f: else cr3+× Зnr4; if r5 then r6 f: else Ar7× Зnr8 → x if r1 then r9 else r10× Зnr4; if r5 then r11 else r12 Зnr8 → xr13×ЗnА; ЗnВТребуется 13 быстрых регистров