当程序中要跳转到另一位置时,需要有一个标识来指示新的位置,这就是标号,通过在目标地址的前面放上一个标号,可以在指令中使用标号来代替直接使用地址。 使用变量是任何编程语言都要遇到的工作。变量是计算机内存中已命名的存储位置,在大部分的语言中都有很多种类的变量,如整数型、浮点型和字符串等,不同的变量有不同的用途和尺寸,比如说虽然长整数和单精度浮点数都是32位长,但它们的用途不同。 顾名思义,变量的值在程序运行中是需要改变的,所以它必须定义在可写的段内,如 .data和 .data?,或者在堆栈内。按照定义的位置不同,MASM中的变量也分为全局变量和局部变量两种。 详细地~~~~~ 标号:标号(LABEL)是为一组机器指令所起名字.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.标号是程序目标标志,总是和某地址相联系,供转移或循环指令控制转移使用. 因标号表示是指令地址,所以它有三个属性,即段属性、偏移属性和类型属性.段属性即段地址,标号段必须在CS中.偏移属性是表示该标号到段首地址距离,单位是字节,是16位无符号整数.类型属性是距离属性,指标号和转移指令距离,该标号在本段内引用,距离在-128~ 127之间时称短标号,距离属性为SHORT,当标号在本段,距离在-32768~ 32767之间时称近标号,距离属性为NEAR,当引用标号指令和标号不在同一段时称远标号,距离属性为FAR. 2 标号定义 标号定义有三种方法: (1) 隐含说明标号距离属性为SHORT和NEAR标号可以使用隐含说明,即在代码段中定义,标识符后加冒号,放在一条汇编指令操作符前面.例: NEXT: MOV AX,BX ---------- LOOP NEXT - - - - - - - - - |
|