汇编语言特殊的数据结构形式
数据是指令中操作数的基本组成部分,数据的形式对语句格式有很大的影响。汇编程序能识别的数据项有常数,变量和标号。
MASM汇编语言还有两种特殊的数据结构形式:结构和记录。
1.常数
常数是没有任何属性的纯数值。在汇编时常数的值已确定,并且在程序运行过程中,常数的值不会改变。常数分为两种类型:数值型常数和字符串型常数。
1)数值型常数
(1)二进制数:以字母B结尾,如01011101B。
(2)八进制数:以字母Q或O结尾,如723Q,21O。
(3)十进制数:以字母D(或省略)结尾,如1995D,3508。
(4)十六进制数:以字母H结尾,例如:3A40H,5BH。
2)字符串型常数
用单引号括起来的字符串,如‘ABCD’,‘S|123456’等。每个字符在机内以ASCII码存放,例如‘A’在内存中为41H。
2.变量
变量用来定义存放在存储器单元中的数据。
当存储单元中的数据在程序运行中随时可以修改时,这个存储单元中的数据可以用变量来定义。为了便于对变量的访问,要给变量取一个名字称为变量名。变量名应符合标识符的规定,它是存放数据存储单元的符号地址。
定义变量可用变量定义伪指令(后面将介绍)。
经过定义的变量,有三重属性。
1)段属性(SEG)
表示变量存放在某个逻辑段中(通常指变量所在段的段基址)。如上例中,变量DATA1、DATA2、DATA3放在逻辑段DATA中。当指令中要对这些变量进行存取操作时,需将段基址送至段寄存器中。
2)偏移地址属性(OFFSET)
表示变量在所在段的偏移地址,以字节数表示。例如,上面例子中DATA1的偏移地址为0,DATA2的偏移地址为1,DATA3的偏移地址为2。段基址和偏移地址组成变量的逻辑地址。
3)类型属性(TYPE)
表示变量占用存储单元的字节数,这一属性是由数据定义伪指令来规定的。变量可分别定义为8位,16位,32位,48位,64位和80位数据。
3.标号
标号是指令语句所在地址的符号表示。标号表明该指令在内存中的位置,常作为转移指令的操作数,确定程序转移的目标地址。
与变量类似,每个标号也有三重属性,如下所述。
(1)段属性(SEG):该标号所在段的段基址。
(2)偏移地址属性(OFFSET):该标号所在段的偏移地址。
(3)距离属性(DISTANCE):当标号作为转移类指令的操作数时,可在段内或段间转移,这时它们的距离属性不同。
NEAR:只允许在本段内转移;
FAR:允许在段间转移。
设置标号距离可用隐含方式或伪指令LABEL定义其距离属性两种方式。
(1)隐含方式:标号后面跟“”隐含其距离属性为NEAR,只能在本段中转移。
(2)用LABEL伪指令定义距离属性。
4.表达式
表达式是操作数的常见形式,表达式由常数、变量、标号及连接它们的运算符组成。表达式的运算不由CPU完成,而是在程序汇编过程中进行计算确定,并将表达式的结果作为操作数参加指令所规定的操作。MASM允许使用的表达式分为以下两类。
1)数字表达式
数字表达式的结果是数字。
例如:MOV DX,(6*A-B)/2
指令的源操作数(6*A-B)/2是一个表达式。若设变量A的值为1,变量B的值为2,则此表达式的值为(6*1-2)/22,是一个数字结果,此表达式是数字表达式。
2)地址表达式
地址表达式的结果是一个存储单元的地址。当这个地址中存放的是数据时,称为变量;当这个地址中存放的是指令时,则称为标号。
当在指令的操作数部分用到地址表达式时,应当注意其物理意义。例如,两个地址相乘或相除是无意义的,两个不同段的地址相加减也是无意义的。经常使用的是地址±(加减号)数字量。如SUM+l是指向SUM字节单元的下一个单元的地址。
例如:MOV AX, ES:[BX+SI+1000H]
BX+SI+1000H为地址表达式,结果是一个存储单元的地址。
- 面对面学习总是比在线学习好吗
- 最近关于重新开放学校的激烈争论主要取决于在线教学的质量。这是可以理解的。但是,关于在线指导的许多内容仍然被误解。现在该改变这种
- 06-09 关注:73
- 在线学习的4条建议
- 印第安纳大学(IU)的新资源介绍了使在线学习成功的一些最重要因素。
当IU关闭体育课并转向在线教学时,电子学习研究与实践实验室开始
- 06-09 关注:65
- 激光视盘 可以自由放置和使用
- 激光视盘采用丙烯酸塑料制成,大多数光盘直径为30厘米(C12英寸),也有13厘 米(5英寸)的小型盘,盘的转速为1500转/分,但应指出,为
- 09-18 关注:133
- 数字技术用于语音信号高效多路传输
- 欣赏声音、喜爱音乐,这是音响的源点。为了满足这一需要,音响系统需由两个系统组成。其一是对音乐与人声加以收音并加以调整,记录在唱
- 09-18 关注:122
- 电脑正在进入有线电视网
- 当前,随着数字计算机和多媒体技术的发展,许多大的计算机制造公司都提出,在微型计算机上实现电视的功能,即利用计算机网络来接收数字
- 09-18 关注:128
- 电视信号的传输过程
- 当前,像高保真音响、高清晰度电视、VCD、数码录音等新词汇大量充斥在我们身边,它们一方面代表这新技术的涌现,另一方面也体现了这些
- 09-18 关注:196
- 计算机6.2.180x86中断结构及类型
- 从Intel 8086/8088、286、386、486直到Pentium系列微处理器,它们中断系统的结构基本相同,不同之处主要有两点:一是 因CPU的工作模式
- 09-18 关注:132
- 中断技术引入计算机系统
- 中断技术是现代计算机系统中很重要的功能。最初,中断技术引入计算机系统,只是为了解决快速的CPU与慢速的外部设备之间传送数据的矛盾
- 09-18 关注:261