没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Dx = 3;//dx 默认为 3 因为动态链 静态链 返回地址 分别需要三个空间
levelReg[0].tx0 = tx = 0;
table[0].adr = cx = 0;
gen(jmp, 0, 1); {运行完之后 cx=1}
//主函数的变量声明
enter(a);// tx = 1; a 放在 dx = 3 的位置
enter(b);//tx = 2; b 放在 dx = 4 的位置 size = 5;
enter(p);//tx = 3; table[3].name = p; 保存到 lev = 0;中
levelReg[0].dx0 = 4;//保存到目前为止需要为 lev = 0 开辟的空间为 5
lev--;//lev = 0;
dx = levelReg[lev].dx0;//dx = levelReg[0].dx0 = 5;
enter(e);//tx = 6; 放在 dx = 5 的位置
enter(f);//tx = 7; 放在 dx = 6 的位置 dx = size = 7;
//主函数的回填阶段
code[table[levelReg[lev].tx0].adr].a = cx;// code[0].a = 8; jmp 0, 8;
table[levelReg[lev].tx0].adr = cx;//table[0].adr = 8;
table[levelReg[lev].tx0].size=dx;//table[0].size = 7;
levelReg[lev].cx0 = cx;
gen(ini,0,dx);//gen(ini, 0, 7);
//begin-end
gen(cal, lev - table[i].level, table[i].adr);//call p; gen(cal, 0, 2);
gen(opr,0,0);
lev++; //lev = 1;
dx = 3;
levelReg[1].tx0 = tx = 3; //保存子函数名在 table 中的下标为实现后面的回填
table[tx].adr = cx = 1; //tx = 3 在进入子函数的之前就锁定它在代码区的位置
gen(jmp, 0, 1); {运行完之后 cx=2}
//变量声明
enter(c);//tx = 4; c 放在 dx = 3 的位置
enter(d);//tx = 5; d 放在 dx = 4 的位置 dx = size = 5;
//回填阶段
code[table[levelReg[1].tx0].adr].a = cx;//code[1].a = 2;jmp 0, 2;
table[levelReg[1].tx0].adr = cx;//table[3].adr = 2 回填 子函数名所在 table 所在的代码段地址
table[levelReg[lev].tx0].size = dx;//为该子函数需要分配空间的大小
levelReg[lev].cx0 = cx;//levelReg[1].cx0 = 2;
gen(ini,0,dx);//code[2] = {int 0 5} 运行完 cx = 3;
//begin-end
gen(lit, 0, 100);//将 100 取到栈顶 cx = 4
gen(sto, lev - table[i].level, table[i].adr);//gen(sto, 0, 3); c = 100; 执行完 cx = 5;
gen(lod, lev - table[i].level, table[i].adr);//gen(lod, 0, 3);将 c 的值取到栈顶 执行完 cx = 6;
gen(sto, lev - table[i].level, table[i].adr);//gen(sto, 1, 3)将栈顶的值赋给 a 执行完 cx = 7;
gen(opr,0,0);//过程调用结束后 返回调用点 并退栈 执行完 cx = 8;
Var a, b;
procedure p;
Var c, d;
Var a, b; (1) jmp 0, 8;
procedure p; (2) jmp 0, 2
var c, d; (3)ini 0, 5
begin (4) lit 0, 100
c = 100; (5)sto 0, 3
a = c; (6) lod 0, 3
end; (7) sto 1, 3
var e, f; (8) opr 0, 0
begin (9) ini 0, 7
cal p; (10)cal 0, 2
end. (11)opr 0, 0
资源评论
- 屎宝宝2013-12-03可惜没什么用
- 数学熊猫2014-04-12资源不是很好,用处不大。。。
- cjdevil1232011-11-07没有提供大量代码 很遗憾。。
lexiMee
- 粉丝: 8
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Sora AI Video Preview Case Sora AI 视频模版项目,React全栈快速部署.zip
- Foobar2000 中文完全版
- 基于JAVA web 的酒店管理系统的设计与实现,MySQL、MVC
- cdf6be7eb5ee2c1204e6de3b08a441d2.jpg
- 基于web的停车场管理系统的设计与实现、MVC、前台jQuery、后台JDBC,JSP技术,Tomcat、JavaBean
- 基于STM32和QT平台的农业大棚远程监控系统设计.pdf
- 毕业设计-基于SpringBoot、JPA、Thmleaf实现的旅游网站管理系统
- index.wxml
- 基于Git的软件项目管理配置方法及应用实践.pdf
- 基于R语言的公立医院学科绩效评估数据可视化研究.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功