指令构成一个工具集,执行如下各种操作:
数据传送
程序控制
整型运算
浮点运算
逻辑操作
移位操作
位操作
系统控制
高速缓存维护
下面几小节将讨论每种操作对应的指令,下表列出了本手册中使用的符号,在指令定义的操作数语法语句中,右边的操作数是目的操作数。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
表3-1 符号约定
单操作数和双操作数操作 | |
+ | 算术加或后增量指示符 |
- | 算术减或预减量指示符 |
* | 算术乘 |
/ | 算术除 |
~ | 取反;操作数被逻辑求补 |
& | 逻辑“与” |
| | 逻辑“或” |
⊥ | 逻辑“异或” |
→ | 源操作数送到目的操作数 |
←→ | 交换两个操作数 |
任何双操作数操作 | |
测试的<操作数>(tested) | 将操作数与0比较并相应的设置条件码 |
带符号扩展(sign—extended) | 使所有高位部分的位等于低位部分的高位位 |
其它操作 | |
If then else | 测试条件。如果为真,“then”后的操作被执行。如果条件为假,并且存在选择的“else”句型,则“else”后的操作被执行。如果条件为假且没有else,指令不执行任何操作。 |
寄存器说明 | |
An | 任何地址寄存器n(例如A3为地址寄存器3) |
Ax,Ay | 分别为源和目的地址寄存器 |
Dn | 任何数据寄存器n(例如D5为数据寄存器5) |
Dx,Dy | 分别为目的和源数据寄存器 |
Dw | Data register containing a remainder |
Rc | 控制寄存器 |
Rn | 任何地址或数据寄存器 |
Rx,Ry | 分别为目的和源寄存器 |
Xi | 变址寄存器,可以为任何地址或数据寄存器 |
子字段及限定符 | |
# | 指令字后面的立即数数据 |
() | 在一个寄存器中说明间接寻址 |
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> | 位移量值,n位宽(例如为一个16位位移量 |
sz | 操作数长度:字节(B),字(W),长字(L) |
lsb,msb | 最低有效位,最高有效位 |
LSB,MSB | 最低有效字,最高有效字 |
SF | 变址寄存器比例因子(定标因子) |
寄存器名称 | |
CCR | 条件码寄存器(状态寄存器低字节) |
PC | 程序寄存器 |
SR | 状态寄存器 |
USP | 用户堆栈指针 |
ic,dc,bc | 指令、数据或指令和数据高速缓存 |
条件码 | |
* | 通常情况下 |
C | CCR的进位位 |
cc | CCR的条件码 |
N | CCR的负位 |
V | CCR的溢出位 |
X | CCR的扩展位 |
Z | CCR的零位 |
— | 无影响或未使用 |
MAC操作 | |
ACC,ACCx | MAC累加寄存器,EMAC具体的累加寄存器 |
ACCx,ACCy | 分别为目的和源累加寄存器 |
ACCext01 | EMAC累加器0、1的组合 |
ACCext23 | EMAC累加器2、3的组合 |
EV | MACSR的扩展溢出标志 |
MACSR | MAC状态寄存器 |
MASK | MAC屏蔽寄存器 |
PAVx | MACSR的的乘积累加溢出标志 |
RxSF | 包含带定标的MAC操作数的寄存器 |
Rw | MAC目的寄存器 |
浮点操作 | |
fmt | 操作数数据格式:字节(B)、字(W)、长字(L)、单精度(S)、双精度(D) |
+inf | 正无穷 |
-inf | 负无穷 |
FPx,FPy | 分别为目的和源浮点数据寄存器 |
FPCR | 浮点控制寄存器 |
FPIAR | 浮点指令地址寄存器 |
FPSR | 浮点状态寄存器 |
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />NAN | Not-a-number |
其它 | |
x,y | 分别为目的和源有效地址 |
汇编程序标号 | |
#list | 寄存器列表,例如D3—D0 |
文章评论(0条评论)
登录后参与讨论