当前位置: 首页 > 文档资料 > 汇编语言教程 >

7.5.10 局部变量的定义

优质
小牛编辑
137浏览
2023-12-01

7.5.10 局部变量的定义

局部变量的定义格式:

LOCAL 变量名[[数量]] [:数据类型] [,变量名[[数量]] [:数据类型]]...

伪指令LOCAL的作用是说明一个或多个临时的局部变量(位于堆栈中)。局部变量必须在任何指令之前加以说明,并可用多个LOCAL伪指令来说明其局部变量。

在子程序中,若说明了某个局部变量,则子程序体中的指令就可使用该局部变量。汇编程序会把对它的引用转换成用指针寄存器BP来访问其在堆栈中的实际存储单元。

在局部变量的作用域与高级语言中局部变量的作用域相一致,即:局部变量只能在当前子程序中使用,离开该子程序,它们就不能再被引用。但在局部变量的命名规则上有所不同,高级语言中的局部变量可与外层变量同名,而汇编语言中的局部变量不能与其它任何变量同名,否则,在汇编时,将会给出“重定义”(Symbolredefinition)的错误信息。

“数量”用来说明该变量所具有的元素个数。象高级语言的数组定义一样,该数量必须写在括号“[]”之中。“数量”说明项是可选项。

局部变量的类型说明符可以是任何合法的数据类型说明符。在16位段环境下,该缺省的数据类型是WORD,而在32位段环境下,该缺省的数据类型是DWORD。

此处伪指令LOCAL的作用与9.3.1节中伪指令LOCAL的作用是完全不同的,具体的差异请见9.3.1节中的比较。

例如:

LOCAL data[20]:BYTE, num:WORD

在上例的说明中,定义了二个局部变量:data和num。前者是字节类型,并有20个元素,后者是字类型,只有其自身1个元素。