汇编语言里的 "$" 是什么意思?怎么用?

2024-11-01 01:17:33
推荐回答(5个)
回答1:

代表当前指令的地址,如:

data segment

str1 db a,b,c,d

leng equ $-str

就是当前地址减去str1的初始地址,即可得到str1的长度。

在字符串中是结束标志,就是字符串遇到$才会结束,类似于c语言中字符串中结尾的'0'。

扩展资料:

语言特点

汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。

汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。

参考资料来源:百度百科-$ (汇编语言中字符串结束的标志)

回答2:

$: 为地址运算符,属伪操作指令。当我们需要汇编编译器自动计算出数组大小的时候,可能就会用到当前地址计数器$运算符了,MASM用$运算符返回当前程序语句的地址偏移值,利用该数值,我们可以计算出数组的长度。
例如:
xxx BYTE 10,20,30,40,50
xxxlen = $ - xxx
则常量xxxlen就是数组list的长度值了(=5)。
上句的意思是:当前地址减去变量xxx的地址,即为5。

回答3:

$在汇编中代表它所在指令的地址,例如
0060H SJMP $
就是跳转到$,而它编译时自动变为本行地址0060H,运行时就跳转回这行,即不断重复运行

回答4:

数据段偏移地址

回答5:

汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。在实际应用中,是否使用汇编语言,取决于具体应用要求、软件开发时间和质量等方面作权衡。