⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.1.0b.htm

📁 建立《编译原理网络课程》的目的不仅使学生掌握构造编译程序的原理和技术
💻 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.1.0.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.1.0_2.htm'"></img></td>
</tr>
</table>
<br><br>

<table><tr><td>&nbsp&nbsp&nbsp&nbsp</td>
<td class="content">
<p>有关地址方式及它们的汇编语言形式和有关开销如表8.1所示。</p>
<p align="center"><b>表8.1目标机器的地址方式
</b></p>
<table align="center" border="1" cellPadding="5" cellSpacing="0" width="87%">
  <tbody>
    <tr>
      <td width="22%">
        <div align="center">
          地址方式
        </div>
      </td>
      <td width="16%">
        <div align="center">
          汇编形式
        </div>
      </td>
      <td width="44%">
        <div align="center">
          地址
        </div>
      </td>
      <td width="18%">
        <div align="center">
          增加的开销
        </div>
      </td>
    </tr>
    <tr>
      <td width="22%">
        <div align="center">
          直接地址方式
        </div>
      </td>
      <td width="16%">
        <div align="center">
        </div>
      </td>
      <td width="44%">
        <div align="center">
        </div>
      </td>
      <td width="18%">
        <div align="center">
        </div>
      </td>
    </tr>
    <tr>
      <td width="22%">
        <div align="center">
          寄存器方式
        </div>
      </td>
      <td width="16%">
        <div align="center">
        </div>
      </td>
      <td width="44%">
        <div align="center">
        </div>
      </td>
      <td width="18%">
        <div align="center">
        </div>
      </td>
    </tr>
    <tr>
      <td width="22%">
        <div align="center">
          间接寄存器方式
        </div>
      </td>
      <td width="16%">
        <div align="center">
          *R
        </div>
      </td>
      <td width="44%">
        <div align="center">
          contents(R)
        </div>
      </td>
      <td width="18%">
        <div align="center">
        </div>
      </td>
    </tr>
    <tr>
      <td width="22%">
        <div align="center">
          索引方式
        </div>
      </td>
      <td width="16%">
        <div align="center">
          c(R)
        </div>
      </td>
      <td width="44%">
        <div align="center">
          c+contents(R)
        </div>
      </td>
      <td width="18%">
        <div align="center">
        </div>
      </td>
    </tr>
    <tr>
      <td height="19" width="22%">
        <div align="center">
          间接索引方式
        </div>
      </td>
      <td height="19" width="16%">
        <div align="center">
          *c(R)
        </div>
      </td>
      <td height="19" width="44%">
        <div align="center">
          contents(c+contents(R))
        </div>
      </td>
      <td height="19" width="18%">
        <div align="center">
        </div>
      </td>
    </tr>
  </tbody>
</table>

<p>当用一个存储单元M或一个寄存器R作为源和目的时,它们表自身。例如,指令<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
MOV R0,M   
</p>
    <p>将寄存器R<span class="down">0</span>的内容存入存储单元M中。从寄存器R的值偏移c可写做c(R)。这样,指令<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
    MOV 4(R0),M<br>   
    就将值contents(4+contents(R0))存入存储单元M中。</p>
    <p>表中的两种间接方式用前缀*表示。于是,指令<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
    MOV *4(R0),M<br>   
    将值contents(contents(4+contents(R0)))存入存储单元M中。还有一种地址方式允许源是一个常数,如表8.2所示。</p>
<p align="center"><b>表8.2目标机器的常数地址方式</b><br>
<br>
</p>
<table align="center" border="1" cellPadding="5" cellSpacing="0" width="75%">
  <tbody>
    <tr>
      <td>
        <div align="center">
          地址方式
        </div>
      </td>
      <td>
        <div align="center">
          汇编形式
        </div>
      </td>
      <td>
        <div align="center">
          常数
        </div>
      </td>
      <td>
        <div align="center">
          增加的开销
        </div>
      </td>
    </tr>
    <tr>
      <td>
        <div align="center">
          字面常数
        </div>
      </td>
      <td>
        <div align="center">
          #C
        </div>
      </td>
      <td>
        <div align="center">
          C
        </div>
      </td>
      <td>
        <div align="center">
          1
        </div>
      </td>
    </tr>
  </tbody>
</table>
<p><br>
因此,指令<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
MOV #1,R0<span class="down"><br>   
</span>将常数1装入寄存器R0中。</p>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.1.0.htm'"></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='8.1.0_2.htm'"></img></td>
</tr>
</table>
</tr></table>

</BODY>
</html>
<html><script language="JavaScript">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -