编译原理 运行时环境詳解.pptVIP

  • 45
  • 0
  • 约1.17万字
  • 约 81页
  • 2016-03-16 发布于湖北
  • 举报
lcc的运行时环境处理 lcc的运行时环境处理 调用序列 print(“%s: \n”, f-x.name); print(“push ebx\n”); print(“push esi\n”); print(“push edi\n”); print(“push ebp\n”); print(“mov ebp,esp\n”); lcc的运行时环境处理 处理参数 offset = 16 + 4; for (i = 0; callee[i]; i++) { Symbol p = callee[i]; Symbol q = caller[i]; p-x.offset = q-x.offset; p-x.name = q-x.name = stringf(“%d”, p-x.offset); p-sclass = q-sclass = AUTO; offset += roundup(q-type-size, 4); } lcc的运行时环境处理 返回序列 print(“mov esp,ebp\n”); print(“pop ebp\n”); print(“pop edi\n”); print(“pop esi\n”); print(“pop ebx\n”); print(“ret\n”); lcc的运行时环境处理 数据定义 静态局部符号保证唯一名字 if (p-scope =

文档评论(0)

1亿VIP精品文档

相关文档