2011年计算机等级考试三级PC技术第二章要点(8)
创始人
2024-07-20 15:41:09
0

八、80x86宏汇编语言的数据和表达式

(一)常数

在宏汇编中,允许使用的常数有:

● 二进制常数

● 十进制常数

● 八进制常数

● 十六进制常数

● 十进制科学记数法

● 串常数

(二)变量

变量用于定义存储器中的数据,这些数据在程序运行过程中可随机修改。为了便于对变量的访问,变量常常以变量名的形式出现在程序中。变量名可以认为是存放数据的存储单元号地址。变量的三个属性是:

(1)段属性

指变量所在段的段基址。

(2)偏移地址属性

指变量所在段中的偏移量,即变量所在地址与段基址之间的字节距离。

(3)类型属性

指变量占用存储单元的字节数。占用1个字节的称为字节变量,其类型BYTE;占用2个字节的称为字变量,其类型为WORD;占用4个字节的称为双字变量,其类型为DWORD。此外,还有8字节(即4个字)变量和10字节变量,它们分别占用8个字节存储单元和10个字节存储单元,其类型为QWORD和TBYTE。

变量可以用伪指令DB、DW、DD、DZ、DT进行定义。

(三)标号

标号是给指令性语句所在地址取的名字,和变量一样,标号有三个属性:

(1)段属性

(2)偏移地址属性

(3)类型属性

(四)表达式和运算符

宏汇编中有三种运算符:算术运算符、逻辑运算和关系运算符。

1.算术运算符

算术运算符包括加(+)、减(-)、乘(*)、除(/)、模除(MOD)、左移(SHL)和右移(SHR)七种。+、-、*、/是常用的运算符,参加运算的数和运算结果均为整数。除法运算的结果取商的整数部分,而模除的运算结果只取它的余数。左移或右移运算符可使二进制数左移或右移若干位,相当于二进制数进行乘法或除法运算,因此也把它们作为算术运算符。

2.逻辑运算符

逻辑运算符包括AND(与)、OR(或)、XOR(异或)、NOT(非)四种。它们只适用于对常量进行逻辑运算。注意,表达式中的逻辑运算符只能出现在语言的操作数部分并且是在汇编时完成运算的。

3.关系运算符

关系运算符包括EQ(相等)、NE(不等)、LT(小于)、(GT)大于、LE(小于或等于)、GE(大于或等于)6种运算。关系运算符是用于比较两类的大小,要求两个操作数都是数字或者是同一段中的两个地址值。比较的结果用逻辑值表示。关系运算符与逻辑运算符常结合在一起使用。

4.数值回送运算符

数值回送运算符分为两类:一类是将指定的变量名或标号地址的有关内容赋给指令,如OFFSET和SEG;另一类有3种:TYPE,LENGTH和SIZE,将变量名或标号的一些特征传送给指令。

(1)OFFSET

格式: OFFSET 变量或标号

汇编程序将回送变量或标号所在地址的偏移量给该指令。

(2)SEG

格式: SEG 变量或标号

汇编程序将回送变量或标号所在地址的段地址给该指令。

(3)TYPE格式: TYPE 变量或标号

用来确定标号或变量的类型,并根据类型作为一个操作数回送给指令。汇编中规定,如果是变量,则根据DB、DW、DD、DQ和DT分别用数值1、2、4、8和10回送给指令。如果是标号,根据标号的类型用-1和-2分别代表NEAR和FAR。

(4)LENGTH

格式: LENGTH 变量名

用来回送变量名下定义的数据项数目。值得注意的是它只对用DUP定义的数据起作用,凡没使用DW的回送值均为1。

(5)SIZE

格式: SIZE 变量名

用来回送为该变量名分配的字节数。可见SIZE应是TYPE和LENGTH值的乘积。

5.指定属性操作符

指定属性操作符有PTR和THIS等6种。它们的功能是建立一些新的存储器地址操作数,即新的变量、标号或地址表达式。

(1)PTR

格式:类型 PTR 表达式

说明:类型可以是BYTE、WORD、DWORD、NEAR、FAR等,表达式可以是某个变量、标号或地址表达式。

功能:建立一个新的存储器地址操作数,但不分配内存。新操作数与PTR右边的存储器地址作数有相同的段地址和偏移量,类型为PTR左边规定的类型。因些,实际上,PTR操作符可给变量、标号或地址表达式定义新的名字和类型。

(2)THIS

格式:THIS 类型

功能:定义当前单元类型的操作符。

(3)SHORT

格式:JMP SHORT DES

功能:确定转移地址的属性,用在JMP指令中,规定转移范围在-128~+127个字节内。

(4)HIGH和LOW

两个字节选取操作符。在指令中用在字操作数之前,指定取该字的高字节或低字节参与运算。

(5)段属性

利用“段寄存器:地址表达式”的形式改变操作数的地址表达式所属段的特性。

【编辑推荐】

  1. 2011年计算机等级考试三级PC技术第二章要点(7)(1)
  2. 2011年计算机等级考试三级PC技术第二章要点(6)
  3. 2011年计算机等级考试三级PC技术第二章要点(5)
  4. 更多等考资料请点击51CTO软考专题

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...