宏汇编语言的基本语法

常数、变量和标号

1、常数

(1)二进制数:以字母B结尾的由一串 ‘0’ 和 ‘1’ 组成的序列。

(2)八进制数:以字母o或Q结尾,由若干个0到7的数字组成的序列

(3)十进制数:由若干0到9的数字组成的序列,可以以字母D结尾,也可以省略字母D。

(4)十六进制数:以字母H结尾。且必须以数字开头。例如:0B3FH

(5)字符串常数:用引号括起来的一个或多个字符。这些字符以ASCII码形式存在内存中。

2、变量(偏移量的标号)

变量的三个属性:

        (1)段属性(SEGMENT):表示变量所在段的段首地址

        (2)偏移属性(OFFSET):表示变量的偏移地址

        (3)类型属性(TYPE):表示变量占用存储单元的字节数。类型:字节,字,双字等。

3、标号

表示一条指令所在的地址,也是指令语句的地址符号,常用作转移指令的操作数,即目的地址、

通常由字母数字串组成,但第一个字符必须为字母。最多允许使用31个字符,且可以使用下划线。

运算符和表达式

1、算数运算符:+、-、*、/、MOD(求余)、SHL(左移)、SHR(右移)

2、逻辑运算符:AND、OR、XOR、NOT。只适用于对常熟操作。

3、关系运算符

包括:EQ(相等)、NE(不相等)、LT(小于)、GT(大于)

        LE(小于或等于)、GE(大于或等于)

结果:若关系为假(不成立),结果为0;

        若关系为真(成立),结果为0FFH或0FFFFH

4、分析操作符(数值返回运算符)

(1)取地址的偏移量

        格式:OFFSET  变量名或标号

        功能:取变量名或标号所在段的段内偏移量

(2)取段基址

        格式:SEG  变量名或标号

        功能:取变量名或标号所在段的段首地址。

(3) 求变量名或标号的类型值

        格式:TYPE  变量名或标号

        功能:返回一个数字值。若TYPE加在变量名前,则返回该变量的类型属性;若加在标号前,返回该变量的距离属性。

(4)求长度

        格式:LENGTH  变量名

        功能:返回一个变量名所占存储单元(字节、字或双字)的数目。若变量是用重复定义子句说明的,则返回DUP前面的数值;其余返回1.

(5)求大小

        格式:SEZE  变量名

        功能:返回变量名所占存储单元的字节数,它等于LENGTH和TYPE两个运算返回值的乘积。

 5、综合运算符

(1)PTR运算符

        格式:类型  PTR  表达式

        功能:用于指出变量、标号或地址表达式的类型属性,新的类型只在当前指令内有效。

eg: MOV  BYTE  PTR [DI],4; 指明目的操作数为字节类型。

(2)THIS运算符

        格式:THIS  类型

        功能:把它后面指定的类型或距离属性赋给当前的变量、标号或地址表达式。

6、其他运算符

(1)HIGH和LOW运算符

        格式:HIGH  表达式

                LOW  表达式

        功能:从运算对象中分离出高字节或低字节。

(2)SHORT运算符

        格式:SHORT  标号

        功能:当转移的目标地址与本转移指令的下一条指令之间的字节距离在-128~127范围时,可以用SHORT运算符进行说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值