访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
A51 3.6.5 运算符
内容导读:
 Ax51汇编器提供了几种类型的运算符,我们可以用它们来比较和组合操作数和表达式。这些运算符将在下面讲解。

    数学运算符

    数学运算符实现算术功能,比如加、减、乘和除。这些运算符因运算不同而需要一到两个操作数。结果通常是一个16位的数值。溢出和下溢状态都不被检测。汇编器会检测被0除运算,并会产生出错信息。

运算符 语法 说明
+ + 表达式 单项加符号
- - 表达式 单项减符号
+ 表达式 + 表达式 加法
- 表达式 - 表达式 减法
* 表达式 * 表达式 乘法
/ 表达式 / 表达式 整数除法
MOD 表达式 MOD 表达式 求余
(and) (表达式) 标明运算顺序

    二进制运算符

    进制制运算符被用来实现对操作数的二进制数值的补码、移位和位元运算。

运算符 语法 说明
NOT NOT 表达式 逐位求补
SHR 表达式 SHR 数量 向右移位
SHL 表达式 SHL 数量 向左移位
AND 表达式 AND 表达式 位与运算
OR 表达式 OR 表达式 位或运算
XOR 表达式 XOR 表达式 位异或运算

    关系运算符

    关系运算符用来比较两个操作数。比较结果为TRUE或FALSE。FALSE结果的值为0000h,TRUE结果具有一个非零值。

    下表列出了关系运算符,并作了简要说明。

运算符 语法 结果
GTE 表达式1 GTE 表达式2 如果表达式1大于或等于表达式2为真
LTE 表达式1 LTE 表达式2 如果表达式1小于或等于表达式2为真
NE 表达式1 NE 表达式2 如果表达式1不等于表达式2为真
EQ 表达式1 EQ 表达式2 如果表达式1等于表达式2为真
LT 表达式1 LT 表达式2 如果表达式1小于表达式2为真
GT 表达式1 GT 表达式2 如果表达式1大于表达式2为真
>= 表达式1 >= 表达式2 如果表达式1大于或等于表达式2为真
<= 表达式1 <= 表达式2 如果表达式1小于或等于表达式2为真
<> 表达式1 <> 表达式2 如果表达式1不等于表达式2为真
= 表达式1 = 表达式2 如果表达式1等于表达式2为真
< 表达式1 < 表达式2 如果表达式1小于表达式2为真
> 表达式1 > 表达式2 如果表达式1大于表达式2为真

    存储器类型运算符(Class Operators)

    存储器类型运算符为表达式分配一个存储器类型。这样我们可以把表达式与存储器类型联系起来。如果我们在一条不支持某存储器类型的指令中给表达式分配了那种类型,Ax51汇编器会产生一条出错信息。比如,我们使用XDATA表达式作为一个直接地址。

    下表列出了存储器类型运算符,并给出了简要说明。

运算符 语法 说明
BIT BIT 表达式 分配BIT类型给表达式
CODE CODE 表达式 分配CODE类型给表达式
CONST CONST 表达式 分配CONST类型给表达式
DATA DATA 表达式 分配DATA类型给表达式
EBIT EBIT 表达式 分配EBIT类型给表达式
ECODE ECODE 表达式 分配ECODE类型给表达式
ECONST ECONST 表达式 分配ECONST类型给表达式
EDATA EDATA 表达式 分配EDATA类型给表达式
IDATA IDATA 表达式 分配IDATA类型给表达式
HCONST HCONST 表达式 分配HCONST类型给表达式
HDATA HDATA 表达式 分配HDATA类型给表达式
XDATA XDATA 表达式 分配XDATA类型给表达式

未完待续……

标签:
来源: 作者: 时间:2006/9/25 16:50:53
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐