欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《目标代码生成》PPT课件.ppt

    • 资源ID:5557775       资源大小:303.99KB        全文页数:19页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《目标代码生成》PPT课件.ppt

    第九章 目标代码生成,源程序,编译前端,代码生成,符号表,代码优化,目标程序,中间代码,中间代码,对代码生成器的要求是严格的,它输出的代码必须正确而且质量高。,质量高的含义是它应该有效地利用机器的资源,,此外,代码生成器本生也应该高效地运行.,代码生成的输入:中间代码和符号表,目标代码的形式:,机器语言代码,机器语言模块,汇编语言代码,目标代码生成重点要考虑的问题:,生成的目标代码较短,充分利用寄存器,减少存储单元访问次数,9.1基本问题,一.代码生成器的输入,已确定的中间代码形式,所有信息已填入符号表,用于产生数据对象的运行时地址,二.目标程序,绝对机器代码:所有地址均已定位,可立即执行,可再定位机器代码:允许子程序单独 编译,汇编语言:使代码生成变得容易,三.指令选择,丰富的机器指令会使生成的目标代码质量更、高、速度更快,例:I=I+1 用inc I 实现比用,LD R0 I,ADD R0#1ST R0 I,生成的代码质量高,四、存贮管理,把源程序中的名字映射成运行时数据对象的地址是由前端的代码生成器共同完成的,PROCEDURE sub(x,y:real);VAR i,j:integer;a:ARRAY1.5 OF real;e,f:real;BEGIN f:=e+i*j;END;,f,符号表,名字 形 类型 偏移量,活动记录布局=,老SP,(sp,0),x 形 real 3,返回地址,(sp,1),y 形 real 4,2,(sp,2),(sp,3),(sp,5),i int 5,i,(sp,9),j int 9,j,(sp,13),a array 13,a,(sp,53),e,e real 53,(sp,61),f real 61,(sp,4),x,y,t1,t2,t3,(sp,62),(sp,63),(sp,64),中间代码*i j t1*(sp,5)(sp,9)(sp,62)+e t1 t2+(sp,53)(sp,62)(sp,63)itor t2 t3 itor(sp,63)(sp,64):=t3 f:=(sp,64)(sp,61),五、寄存器的分配,操作数在寄存器中的指令通常要比操作数在内存中的指令短一些,执行也要快一些,充分利用寄存器对生成好的代码尤其重要。,1、选择要驻留在寄存器中的变量,2、选出分配给驻留在寄存器中的变量的寄存器,需要考虑的问题:,寄存器的分配原则:,1.选择已被变量占用,但变量以后可能不被引用的寄存器,2.已分配寄存器,且存放的变量在较远的结点才被引用,3.分配空闲的寄存器,使用专用寄存器,六、计算次序的选择,七、代码生成方法,计算执行的次序会影响目标代码的效率,评判代码生成器的最重要的准则是产生正确的代码,除此之外,易于实现、测试和维护也是重要的设计目标,9.2目标机器:,熟悉目标机器及其指令是设计一个好的代码生成器的先决条件,BX、BP基址寄存器SI、DI变址寄存器,。转移指令JNZ、JMP、CALL、RET,2。运算指令ADDRR/M SUBRR/M MULRR/M DIVRR/M COMPRR/M,。寻址功能:寄存器寻址:MOVAXBX直接寻址:MOVAXDATA基址(变址)位移:MOVDI,BX20H,9.3常用四元式的翻译方法,1。四元式(program,prg_id,)MAIN SEGMENT:ASSUMECS:MAIN,DS:MAIN,ES:MAIN),2。四元式(ret,p)JMP p,3。四元式(+,A,B,T)MOV AX,AADD AX,BMOV T,AX,4。四元式(-,A,_,T)MOV AX,ANEG AX MOV T,AX,7.四元式(=,A,T1T2)MOV SI T2 MOV AX,AMOV SI+T1,AX,8。四元式(JNZ,A,P)MOV AX A JNZ P,10。四元式(J,A,B,P)MOV AX A CMP AX,BJL P,9。四元式(J,P)JMP P,

    注意事项

    本文(《目标代码生成》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开