代表当前的指令所在的地址
举个例子来说,在0050H处定义了几个字节数据
0050H:01H,02H,03H,04H
那么下一条指令的地址应该为0054H,若下一条语句为
COUNT EQU $-0050H,则COUNT就等于4(0054H-0050H),但是一般 编程的时候是不知道数据定义在哪里的,所以你并不知道$的具体值是多少,因为0050H是用标号来表示的,比如说用了TABLE,那么你的语句 COUNT EQU $-TABLE一样可以得到数据块的长度4.
汇编语言中 $代表当前指令的地址;
如:
data segment
str1 db a,b,c,d
leng equ $-str
这里的就是当前地址减去str1的初始地址,即可得到str1的长度。 在字符串中是结束标志,就是字符串遇到$才会结束,类似于c语言中字符串中结尾的'0'。
一般表示当下执行指令的地址,如JNB P1.0,$ 就表示P1.0为0时反复执行本指令(就是等待)当它为1时才开始执行下一条指令。。。
DELY: SJMP $ 就是一直在执行这个语句,不调到其他的程序,直到来了中断。
代表当前指令的所在地址