经典汇编语言教程:4.7.2 数值表达式

4.7.2 数值表达式

数值表达式是在汇编过程中能够由汇编程序计算其值的表达式,其组成部分在汇编时就能完全确定。它通常是一些常量的运算组合。

1、常量

常量是一个立即数,直接写在汇编语言语句中,在程序的执行过程中,它不可能发生变化。通常,我们用二进制、八进制、十进制或十六进制来书写常量。

例如:10101011B、324Q、1234D、1234H、0abcdH、'AB'等都是常量。

在程序中,我们还可用伪指令.RADIX来改变数据的基数,在后面再详细讲解。

2、算术运算符

算术运算符包括符号:+(正)、-(负),运算符:+(加)、-(减)、*(乘)、/(除)和MOD(取模)。这些运算符和常量、括号可组成数值表达式。

如:120+(321-90) mod 3,322*5/32,0abcdH+5,-590等

3、关系运算符

关系运算符包括符号:EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)和GE(大于等于)。这些关系运算符和常量、括号也可组成数值表达式。该表达式的计算结果规定如下:

若关系不成立,则该数值表达式的计算结果为0;否则,其结果为0FFFFH。

如:120H LT 100H+3,21HLE 21H等,它们的计算结果分别为:0和0FFFFH。

4、逻辑运算符

逻辑运算符包括按位操作符和移位操作符。具体是:AND(逻辑与)、OR(逻辑或)、NOT(逻辑非)、XOR(异或)、SHL(左移位)和SHR(右移位)。这些逻辑运算符和常量、括号可组成数值表达式。

如:1 SHL 3,47HAND 0FH,NOT 56H等,它们的计算结果分别为:8,7和0A9H。

5、表达式中的其它操作符

汇编语言中,还有其它可在数值表达式中使用的操作符。它们是:

◆、HIGH(高8位)、LOW(低8位)
◆、SEG(段地址)、OFFSET(偏移量)
◆、TYPE(标识符类型)、LENGTH(变量长度)、SIZE(变量容量)
◆、WIDTH(记录/记录字段宽度)、MASK(记录/记录字段的屏蔽位)等

在以上操作符中,只有HIGH和LOW没有介绍过,它们分别是选取表达式计算结果的高8位和低8位。其使用格式如下:

HIGH 表达式 LOW 表达式

如:HIGH (1234H+100H),LOW1234H等,它们的选取结果分别为:13H和34H。

6、运算符和操作符的优先级

在汇编语言中,有许多各种运算符和操作符,它们的优先级按从高到低的排列如下:

优先级:高

LENGTHSIZEWIDTHMASK、()、[]、.(用于结构字段)、<>(用于记录类型)

PTRSEGOFFSETTYPETHIS、:(用于段超越前缀)
*、/、MOD、SHL、SHR
HIGH、LOW
+、-
EQ、NE、LT、LE、GT、GE
NOT
AND
OR、XOR

优先级:低

SHORT

这些符号及其优先级并不要强记它们,有些符号同时出现的可能性非常?T谝院蟮难爸卸猿S玫募父黾右栽擞靡簿图亲×恕?/p>

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号