记录变量名 记录名 <字段值表>
说明:字段值表是赋给各字段的初值,必须用尖括号括起来,表中各项间用逗号分隔,各项顺序应与记录定义时相一致。若某字段采用时的初值,则该字段用逗号表示;若各字段均采用定义时的初值,则仅用尖括号。
对记录进行操作的专用操作符有3个,即:记录字段名,WIDTH和MASK。①记录字段名
这个操作符无操作数,可直接引用,它的结果是一个立即数,表示该字段的最低位移到所在记录最右边(0位)所需的移位次数。②WIDTH
返回记录或记录某字段的宽度。
格式:WIDTH 记录名或记录字段名③MASK
格式:MASK 记录字段名
MASK的结果是一个8位或16位二进制数,这个二进制数中相应于该字段的各位均是1,其余各位均是0。
记录操作符可以与运算符NOT、OR、AND、SHL、SHR配合使用。
关于记录、记录字段及记录变量的调用,由于记录有自己专用的操作符,故利用这些操作符可对记录及其字段进行操作。
2.宏指令
在汇编语言程序中,有的程序段有时要多次使用,为了使在源程序中不重复书写这个程序段,可以用一条宏指令来代替,在汇编时由汇编程序产生所需的代码。宏指令的使用过程是宏定义、宏调用和宏扩展。
(1)宏定义
宏指令的定义格式:
宏指令名 MACRO[形式参数]┆(宏体) ENDM说明:
●宏指令名是给宏指令起的名字,MACRO是宏定义的定义符,ENDM是宏定义的结束符,两者必须成对出现。
●MACRO和ENDM之间的指令序列称为宏体,即用宏指令要代替的程序段。宏指令具有接受参数的能力,宏体中使用的形式参数必须在MACRO语句中出现。当有两个以上参数时,需用逗号隔开。
●在宏指令被调用时,这些参数被给出的一些名字或数值所取代。
(2)宏调用经过宏定义后,在源程序中的任何位置可以直接使用宏指令名,实现宏指令的调用,称为宏调用。宏调用的结果是将汇编程序翻译成该宏定义的程序段,而产生的目标代码拷贝到调用点。宏调用的格式:
宏调令名(参数,……)
(3)宏扩展
在汇编宏指令时,宏汇编程序将宏体的指令插入到宏指令所在的位置上,并用实在参数代替形式参数,同时在插入的每一条指令前加一个“+”号,这个过程称为宏扩展。
(4)常用宏指令
80x86宏汇编中常用宏指令的格式及功能如下表所示。
常用宏指令
名称 格式 功能
MACRO 宏定义伪指令
PURGE PURGE宏指令名[…]
其功能是取消宏指令名的定义。一个PURGE指令可同时取消多个宏定义
REPT REPT<表达式> ┆(指令体)ENDM 其功能是重复执行指令体所包含的话句,重复次数由表达式的值确定
IRP IRP形式参量,(参数表) …(指令体)ENDM 重复执行指令体内所包含的语句。重复次数由参数表中参数的个数决定。参数表中参数必须用<>括起来,参数间用逗号分隔。每重复一次,依次用参数表中的参数代替形式参数
IRPC IRPC形式参数,字符串 ┆(指令体)ENDM 功能与IRP相同,只是用字符串代替IRP中指令中的参数表
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。