第一范文网 - 专业文章范例文档资料分享平台

编译原理(第2版)课后习题答案详解 (3)

来源:用户分享 时间:2020-06-20 本文由暮烟疏雨之际 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

答案:

题 2 中当程序编译到 r 的过程体时的名字表 table 的内容为:

name

kind

level/val adr

size x

variable 0 dx y

variable 0

dx+1 p

procedure

0

过程 p 的入口(待填) 5

a

variable 1 dx q

procedure 1

过程 q 的入口 4 s

procedure 1

过程 s 的入口(待填) 5 c

variable 2 dx d

variable

2 dx r

procedure 2

过程 r 的入口 5 e

variable 3 dx f

variable 3

dx+1

注意:q 和 s 是并列的过程,所以 q 定义的变量 b 被覆盖。

第 4 题

指出栈顶指针 T,最新活动记录基地址指针 B,动态链指针 DL,静态链指针 SL 与返 回地址 RA 的用途。

答案:

栈顶指针 T,最新活动记录基地址指针 B,动态链指针 DL,静态链指针 SL 与返回地址 RA 的用途说明如下:

T: 栈顶寄存器 T 指出了当前栈中最新分配的单元(T 也是数组 S 的下标)。

B:基址寄存器,指向每个过程被调用时,在数据区 S 中给它分配的数据段起 始 地址, 也称基地址。

SL: 静态链,指向定义该过程的直接外过程(或主程序)运行时最新数据段的基地址, 用以引用非局部(包围它的过程)变量时,寻找该变量的地址。

DL: 动态链,指向调用该过程前正在运行过程的数据段基地址,用以过程执行结束释 放数据空间时,恢复调用该过程前运行栈的状态。

RA: 返回地址,记录调用该过程时目标程序的断点,即调用过程指令的下一条指令的 地址,用以过程执行结束后返回调用过程时的下一条指令继续执行。

在每个过程被调用时在栈顶分配 3 个联系单元,用以存放 SL,DL, RA。

第 5 题

PL/0 编译程序所产生的目标代码是一种假想栈式计算机的汇编语言,请说明该汇编语 言中下列指令各自的功能和所完成的操作。

(1) INT 0 A (2) OPR 0 0 (3) CAL L A

答案:

PL/0 编译程序所产生的目标代码中有 3 条非常重要的特殊指令,这 3 条指令在 code 中 的位置和功能以及所完成的操作说明如下:

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新医药卫生编译原理(第2版)课后习题答案详解 (3)全文阅读和word下载服务。

编译原理(第2版)课后习题答案详解 (3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1089075.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top