1.标号的定义
当在程序中使用一条跳转指令的时候,可以用标号来表示跳转的目的地,编译器在编译的时候会把它替换成地址,标号既可以定义在目的指令同一行的头部,也可以在目的指令前行单独用一行定义,标号定义的格式是:
标号名:目的指令 ;方法1
或
标号名::目的指令 ; 方法2
常用的方法是使用方法1(标号后跟一个冒号【局部标号】),这时标号的作用域是当前的子程序,在单个
子程序中的标号不能同名,否则编译器不知该用哪个地址,但在不同的子程序中可以有相同名称的标号,这意味着不能从一个子程序中用跳转指令跳到另一个子程序中。
需要从一个子程序中用跳转指令跳到另一个子程序中的标号时,可以用方法2(标号后跟两个冒号【全局标号】)来定义,这时标号的作用域是整个程序,对任何其他子程序都是可见的
2.MASM中的@@
当用@@做标号时,可以用@F和@B来引用它,@F表示本条指令后的第一个@@标号,@B表示本条指令前的第一个@@标号,程序中可以有多个@@标号,但@B和@F只寻找匹配最近的一个
标签:标号,汇编,定义,编译器,指令,跳转,子程序 From: https://www.cnblogs.com/liming19680104/p/17861298.html