代表当前指令的地址,如:
data segment
str1 db a,b,c,d
leng equ $-str
就是当前地址减去str1的初始地址,即可得到str1的长度。
在字符串中是结束标志,就是字符串遇到$才会结束,类似于c语言中字符串中结尾的'0'。
扩展资料:
语言特点
汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。
参考资料来源:百度百科-$ (汇编语言中字符串结束的标志)
$: 为地址运算符,属伪操作指令。当我们需要汇编编译器自动计算出数组大小的时候,可能就会用到当前地址计数器$运算符了,MASM用$运算符返回当前程序语句的地址偏移值,利用该数值,我们可以计算出数组的长度。
例如:
xxx BYTE 10,20,30,40,50
xxxlen = $ - xxx
则常量xxxlen就是数组list的长度值了(=5)。
上句的意思是:当前地址减去变量xxx的地址,即为5。
$在汇编中代表它所在指令的地址,例如
0060H SJMP $
就是跳转到$,而它编译时自动变为本行地址0060H,运行时就跳转回这行,即不断重复运行
数据段偏移地址
汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。在实际应用中,是否使用汇编语言,取决于具体应用要求、软件开发时间和质量等方面作权衡。