首页 理论教育汇编语言程序中的表达式和运算符的基础知识

汇编语言程序中的表达式和运算符的基础知识

【摘要】:在汇编语言程序设计中,会经常使用各种表达式,表达式一般由变量、常量、运算符和括号构成。编译器所支持的字符串最大长度为512字节。常用的与字符串表达式相关的运算符如下:LEN运算符:返回字符串的长度(字符数),以X表示字符串表达式。对于数字表达式,STR运算符将其转换为一个以十六进制组成的字符串;对于逻辑表达式,STR运算符将其转换为字符串"T"或"F"。

汇编语言程序中的表达式和运算符的基础知识

在汇编语言程序设计中,会经常使用各种表达式,表达式一般由变量、常量、运算符和括号构成。常用的表达式有算术运算表达式、移位运算表达式、位逻辑运算表达式、关系运算表达式、逻辑运算表达式和字符串表达式等,其运算次序遵循如下的优先级

(1)优先级相同的双目运算符的运算顺序为从左到右。

(2)相邻单目运算符的运算顺序为从右到左,且单目运算符的优先级高于其他运算符。

(3)括号运算符的优先级最高。

1.算术运算符及表达式

算术表达式一般由数字常量、数字变量、数字运算符和括号构成。相关的运算符有“+”“-”“×”“/”“MOD”算术运算符,分别代表加、减、乘、除和取余数运算。

例如,以X和Y表示两个数字表达式,则各算术运算符的使用如下:

2.移位运算符及表达式

移位运算符包括“ROL”“ROR”“SHL”“SHR”4种,分别代表循环左移、循环右移、左移、右移运算。

例如,以X和Y表示两个数字表达式,则各移位运算符的使用如下:

3.位逻辑运算符及表达式

位逻辑运算符包括“AND”“OR”“NOT”“EOR”4种,分别代表按位作逻辑与、或、非及异或运算。

例如,以X和Y表示两个数字表达式,则各位逻辑运算符的使用如下:

4.关系运算符及表达式

关系运算符包括“=”“>”“<”“>=”“<=”“/=”“<>”共7种,其表达式的运算结果为真或假。

例如,以X和Y表示两个逻辑表达式,则各关系运算符的使用如下:

5.逻辑运算符及表达式

逻辑运算符包括“LAND”“LOR”“LNOT”“LEOR”4种,分别代表逻辑与、或、非及异或运算。

例如,以X和Y表示两个逻辑表达式,则各逻辑运算符的使用如下:

6.字符串运算符及表达式

字符串表达式一般由字符串常量、字符串变量、运算符和括号构成。编译器所支持的字符串最大长度为512字节。常用的与字符串表达式相关的运算符如下:

(1)LEN运算符:返回字符串的长度(字符数),以X表示字符串表达式。

格式: :LEN:X

(2)CHR运算符:将0~255之间的整数转换为一个字符,以M表示某一个整数。

格式: :CHR:M

(3)STR运算符:将一个数字表达式或逻辑表达式转换为一个字符串。对于数字表达式,STR运算符将其转换为一个以十六进制组成的字符串;对于逻辑表达式,STR运算符将其转换为字符串"T"或"F"。(www.chuimin.cn)

格式: :STR:X

注意:X为一个数字表达式或逻辑表达式。

(4)LEFT运算符:返回某个字符串左端的一个子串。

格式:X:LEFT:Y

注意:X为源字符串,Y为一个整数,表示要返回的字符个数。

(5)RIGHT运算符:与LEFT运算符相对应,RIGHT运算符返回某个字符串右端的一个子串。

格式:X:RIGHT:Y

注意:X为源字符串,Y为一个整数,表示要返回的字符个数。

(6)CC运算符:用于将两个字符串连接成一个字符串。

格式:X:CC:Y

注意:X为源字符串1,Y为源字符串2,CC运算符将Y连接到X的后面。

7.其他常用运算符

(1)BASE运算符:返回基于寄存器的表达式中寄存器的编号。

格式: :BASE:X

注意:X为与寄存器相关的表达式。

(2)INDEX运算符:返回基于寄存器的表达式中相对于其基址寄存器的偏移量

格式::INDEX:X

注意:X为与寄存器相关的表达式。

(3)?运算符:返回某代码行所生成的可执行代码的长度。

格式: ?X

注意:返回定义符号X的代码行所生成的可执行代码的字节数。

(4)DEF运算符:判断是否定义某个符号。

格式: :DEF:X

注意:如果符号X已经定义,则结果为真,否则为假。