经典汇编语言教程:4.4.3 记录类型的定义

4.4.3 记录类型的定义

在程序中,必须先说明记录类型,然后才能定义该记录类型的变量。记录变量是把其二进制位分成一个或多个字段的字节或字变量。其定义格式与其它类型变量的定义方式类似,具体如下:

[变量名]记录名 <[字段值表]>

解释:1、变量名即为该记录类型的变量名,它可省缺。如果省缺,则不能用符号名来访问该内存单元;

2、字段值表是给字段赋初值,中间用逗号','分开,其字段值的排列顺序及大小应与该记录说明时各字段相一致;

3、如果记录变量的某字段用其说明时的缺省值,那么,可用逗号来表示;如果所有字段都如此,则可省去字段值表,但必须保留一对尖括号"<"、">"。

例如:

COLOR1COLOR <>, <1, 7, 0, 5>, <1, , 0, 7>
FLOAT1FLOAT <1,23H, 0, 3>, <0, 89H, 1, 5>

3、记录的专用操作符

操作符WIDTH和MASK是作用于记录类型的两个专用保留字,利用它们可得到记录类型的不同属性。

操作符WIDTH返回记录或其字段的二进制位数,即其宽度。其一般书写格式如下:

WIDTH 记录名 或 WIDTH 记录字段名

假设有前面定义的记录类型COLOR,那么,WIDTHCOLOR的值为8,WIDTH BACK的值为3,WIDTHBLINK的值为1。

操作符MASK返回一个8位或16位二进制数。在该二进制数中,被指定记录或字段使用的对应位的值为1,否则,其值为0。其一般书写格式如下:

MASK 记录名 或 MASK 记录字段名

假设有前面定义的记录类型FLOAT,那么,MASKEXP的值为000FH,MASKDATA的值为1FE0H,WIDTHDSIGN的值为2000H。

记录字段名是一个特殊的操作符,它本身也是操作数,其返回值是该字段移到所在记录的最低位所需要的位数,即该字段最低位在记录中的位置。

假设有前面定义的记录类型FLOAT,那么,有:

MOV CL, EXP相当于MOV CL, 0
MOV CL, DATA相当于MOV CL, 5

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

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

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