📄 8.1.0b.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>    </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">
M
</div>
</td>
<td width="44%">
<div align="center">
M
</div>
</td>
<td width="18%">
<div align="center">
1
</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">
R
</div>
</td>
<td width="18%">
<div align="center">
0
</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">
0
</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">
1
</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">
1
</div>
</td>
</tr>
</tbody>
</table>
<p>当用一个存储单元M或一个寄存器R作为源和目的时,它们表自身。例如,指令<br>
MOV R0,M
</p>
<p>将寄存器R<span class="down">0</span>的内容存入存储单元M中。从寄存器R的值偏移c可写做c(R)。这样,指令<br>
MOV 4(R0),M<br>
就将值contents(4+contents(R0))存入存储单元M中。</p>
<p>表中的两种间接方式用前缀*表示。于是,指令<br>
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>
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 + -