📄 8.5.1.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<body>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.5.0.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.5.2.htm'"></img></td>
</tr>
</table>
<br><br>
<font class="title2"><b>8.5.1 寄存器描述器和地址描述器</b></font>
<table ><tr><td width="18">    </td>
<td class="content" >
<P>代码生成算法将使用寄存器描述器和地址描述器来记录寄存器的内容和名字的地址。</P>
<P>1.寄存器描述器记录每个寄存器的当前内容,每当需要一个新的寄存器时,需首先查看此描述器。假定在初始时寄存器描述器指示所有的寄存器均为空(当寄存器通过基本块而被赋值时,就不是这种情况)。当对基本块进行代码生成时,每个寄存器在任一给定时刻将保留零个或多个名字的值。</P>
<P>2.地址描述器记录在运行时刻的一个名字的当前值存放的一个位置或多个位置。它可能是一个寄存器地址、一个栈地址、一个存储单元地址、或这些地址的一个集合(因为在复写的时候,一个值存放到一个新的位置,但它仍保留在原来的位置)。这一信息可以存放在符号表中,用来确定对一个名字的存取方式。
</P></td></tr></table>
<br>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.5.0.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.5.2.htm'"></img></td>
</tr>
</table>
</BODY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -