MASM常用预定义符号及变量
Masm定义了一些符号及变量,用了表示一些常用的值或地址,常用的有:
一、$,表示当前行地址:
比如:可以用来计算字符串的长度,$-StringVar。
二、?、表示没有初始化值:
比如:db 1024 dup (?)
三、@@、@F和@B、表示相邻的标号:
比如:jmp @F表示跳转到下一个@@标号,jmp @B表示跳转到上一个@@标号
jmp @F
statement
@@:
statement
jmp @B
四、@curseg、表示当前段名称:
比如:@curseg Ends
五、@filename、表示代码文件名称(不含扩展名)。
六、@codesize和@datasize、表示独立代码段和独立数据段的数量:
在简单段声明方式下,@codesize在small和compact下为0,其他模型下是0;@datassize在small和medium下为0,在compact和large下为1,在huge下为2。
七、段名的简写方式:
比如:@code代表.CODE;@data代表.DATA,@fardata代表.FARDATA,@fardata?代表.FARDATA?;以此类推:.Stack、.Data?、.Const等。