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

📄 inst_se9.htm

📁 ST20 Embedded Toolset R2.0.5用于开发基于ST20芯片机顶盒软件的开发平台,2.0.5版本,国内找不到的.在国外论坛上花了N天才找到!
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="08/22/03 10:13:51">
<title>13.8 Notation</title>

<STYLE TYPE="text/css">
<!--
	span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>

</head>

<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">

<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>

<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="c2isetto.htm"><img src="images/navtoc.gif" width="84" height="23"
    border="0" alt="TOC"> </a></td>
    <td><a href="inst_se8.htm"><img src="images/navprev.gif" width="80" height="23"
    border="0" alt="PREV"> </a></td>
    <td><a href="inst_s10.htm"><img src="images/navnext.gif" width="83" height="23"
    border="0" alt="NEXT"> </a></td>
    <td><a href="c2isetix.htm"><img src="images/navidx.gif" width="84" height="23"
    border="0" alt="INDEX"> </a></td>
  </tr>
</table>

<p><br clear="all">
</p>

<hr align="left">

<blockquote>
<h2>
  <a name="1218328"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8 	 Notation</font>
</h2><hr>


<p>
  <a name="1218329"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">This section gives a full description of the notation used in the `Definition' section of the instruction descriptions.</font>
</p>


<h3>
  <a name="1218331"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8.1 	 The process state</font>
</h3>


<p>
  <a name="1218332"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The process state consists of the registers (mainly <span class=Signal>Areg</span>, <span class=Signal>Breg</span>, <span class=Signal>Creg</span>, <span class=Signal>Iptr</span> and <span class=Signal>Wptr</span>), the contents of memory, and various flags and special registers (for example, the error flags, process queue pointers and clock registers). </font>
</p>


<p>
  <a name="1218333"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The <span class=Signal>Wptr</span> register is the stack pointer and is used for the address of the stack of the current process. This address is word aligned and therefore has the two least significant bits set to 0. </font>
</p>


<h3>
  <a name="1218335"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8.2 	 General</font>
</h3>


<p>
  <a name="1218336"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The instruction descriptions are not intended to describe the way the instructions are implemented, but only their effect on the state of the processor. So, for example, the block move instructions are described in terms of a sequence of byte reads and writes even though the instructions are implemented to perform the minimum number of word reads and writes.</font>
</p>


<p>
  <a name="1218338"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Comments (in <em>italics</em>) are used to both clarify the description and to describe actions or values that cannot easily be represented by the notation used here; for example, <em>start next process</em>. These actions may be performed in another subsystem in the device, and so any changes to machine state are not necessarily completely synchronized with the execution of the instruction, as the different subsystems work independently and in parallel.</font>
</p>


<p>
  <a name="1218340"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Ellipses are used to show a range of values; for example, `i = 0..31' means that i has values from 0 to 31, inclusive.</font>
</p>


<p>
  <a name="1218342"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Subscripts are used to indicate particular bits in a word; for example, <span class=Signal>Areg</span> <sub>i</sub> for bit i of <span class=Signal>Areg</span>, and <span class=Signal>Areg</span> <sub>0..7</sub> for the least significant byte of <span class=Signal>Areg</span>. </font>
</p>


<p>
  <a name="1218344"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif"><em>Note:	 Bit 0 is the least significant bit in a word, and bit 31 is the most significant bit.</em></font>
</p>

<p>
  <a name="1218345"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Generally, if the description does not mention the state of a register or memory location after the instruction, then the value is not changed by the instruction.</font>
</p>


<p>
  <a name="1218346"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">One exception to this general rule is <span class=Signal>Iptr</span>, which is assigned the address of the next instruction in the code before every instruction execution starts. The <span class=Signal>Iptr</span> is included in the description only when it is directly affected by the instruction (for example, in the jump instruction). In these cases the address of the next instruction is indicated by the comment `<em>next instruction</em>'.</font>
</p>


<h3>
  <a name="1218348"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">Scheduling operations</font>
</h3>


<p>
  <a name="1218349"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Some registers, such as the timer and scheduling list pointers and some special workspace locations, can be changed at any time by scheduling operations. Changes to these are included in the description only when they are directly caused by the instruction, and not just as an effect of any scheduling operation which might take place.</font>
</p>


<h3>
  <a name="1218351"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8.3 	 Undefined values</font>
</h3>


<p>
  <a name="1218352"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Many instructions leave the contents of a register or memory location in an undefined state. This means that the value of the location may be changed by the instruction, but the new value cannot be easily defined, or is not a meaningful result of the instruction. For example, when the integer stack is popped, <span class=Signal>Creg</span> becomes undefined, that is it does not contain any meaningful data. An undefined value is represented by the name <em>undefined</em>. The values of registers which become undefined as a result of executing an instruction are implementation dependent and are not guaranteed to be the same on different members or revisions of the ST20 family of processors.</font>
</p>


<h3>
  <a name="1218355"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8.4 	 Data types</font>
</h3>


<p>
  <a name="1218356"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The instruction set includes operations on three sizes of data: 8-, 16- and 32-bit objects. 8-bit and 16-bit data can represent signed or unsigned integers and 32-bit data can represent addresses, signed or unsigned integers. Normally it is clear from the context (for example, from the operators used) whether a particular object represents a signed, unsigned or floating point number. A subscripted label is added (for example, <span class=Signal>Areg</span> <sub>unsigned</sub>) to clarify where necessary.</font>
</p>


<h3>
  <a name="1218360"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">13.8.5 	 Representing memory</font>
</h3>


<p>
  <a name="1218361"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The memory is represented by arrays of each data type. These are indexed by a value representing a byte address. Access to the three data types is represented in the instruction descriptions in the following way:</font>
</p>

<ul>
<p>  <font size=2  face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1218362"> </a>byte[<em>address</em>] references a byte in memory at the given address,</font></p>
<p>  <font size=2  face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1218363"> </a>sixteen[<em>address</em>] references a 16-bit object in memory,</font></p>
<p>  <font size=2  face="Verdana, Arial, Helvetica, sans-serif"><li ><a name="1218364"> </a>word[<em>address</em>] references a 32-bit word in memory.</font></p>
</ul>

<p>
  <a name="1218365"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">For all of these, the state of the machine referenced is that<font  face="Verdana, Arial, Helvetica, sans-serif"><i> </i></font>before the instruction if the function is used without a prime (for example, word[ ]), and that after the instruction if the function is used with a prime (for example, word<font face=symbol>

⌨️ 快捷键说明

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