欢迎来到天天文库
浏览记录
ID:50161473
大小:167.00 KB
页数:8页
时间:2020-03-09
《编译原理基础——习题与上机题解答 教学课件 作者 刘坚 第6-10章第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章“代码生成”习题解答6.1根据6.2节的假设,计算下述指令的相对代价。LDR0,aSUBR0,bLDR1,aSUBR1,cADDR0,R1ADDR0,R1STR0,d解: 目标代码相对代价LDR0,a0SUBR0,b1LDR1,a0SUBR1,c1ADDR0,R10ADDR0,R10STR0,d06.2对于下述三地址码序列,用算法6.1为它划分基本块并构造它的程序流图。(1)a:=1(7)e:=e+1(2)b:=2(8)b:=a+b(3)c:=a+b(9)e:=c–a(4)d:=c–a(10)a:=b*d(5)d:=b*d(11)b:=a–d(6)d:=a+b解: 上述三地址码
2、序列的控制流是顺序的,故整个序列是一个基本块,程序流图是仅有一个节点的图(略)。6.3设变量a、b、c出基本块是活跃的,d、e出基本块是不活跃的,用算法6.2计算6.2题各变量的待用信息与活跃信息,并以表格的形式写出各计算步骤的中间结果。 解: 变量被标记了待用与活跃信息的三地址码和待用与活跃信息的计算步骤分别如下:(1)a3/L:=1(7)eF/F:=eF/F+1(2)b3/L:=2(8)b10/L:=a9/L+bF/F(3)c4/L:=a4/L+b5/L(9)eF/F:=cF/L–aF/F(4)d5/L:=c9/L–a6/L(10)a11/L:=bF/F*d11/L(5)dF/F
3、:=b6/L*dF/F(11)bF/L:=aF/L–dF/F(6)d10/L:=a8/L+b8/L
此文档下载收益归作者所有