“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。
在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
扩展资料:
由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。对于处理器而言,就是如何找到他所需的数据。
但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与 复杂的存储管理方式紧密相关,因而难以理解。最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。
意思:是一个预定义符号,等价于当前正汇编到的段的当前偏移值。
例如eg:指令“jmp$+3”中的“$”表示当前这条指令在代码段中的偏移量。
一、eg即“jmp$+3”表示要向前跳转到距离这条指令3个字节的地方。若是“jmp$-3”,则表示要向后跳转到距离这条指令3个字节的地方。
二、在汇编中是字符串结束的标志
如:DATA SEGMENT
MES1'HELLO',0AH,0DH,'$'
三、$同时也代表着美元
四、同时也是JQuery和PHP等框架或语言中所用的有特殊作用的符号。
举例:汇编语言中$+4表示
$是指当前指令的地址
$+4就是当前指令+4的地址
举个$-4的例子,也一样。
DELAY:
MOV R3,#25
D1:
MOV R4,#20
D2:
DJNZ R4,D2
DJNZ R3,D1
RET
也可以写成:
DELAY:
MOV R3,#25
MOV R4,#20;MOV Rn,#data为2字节指令
DJNZ R4,$;DJNZ Rn,rel为2字节指令
DJNZ R3,$-4;$-4的地址向上-4个字节单元,指令就是MOV R4,#20
RET
参考资料:
百度百科——$(汇编语言中字符串结束的标志)
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。
指令“jmp $+3”中的“$”表示当前这条指令在代码段中的偏移量。指令“jmp $+3”表示要向前跳转到距离这条指令3个字节的地方。若是“jmp $-3”,则表示要向后跳转到距离这条指令3个字节的地方。
“$”可用于表达式,并且可以用于表达式的任意位置。
更具体的内容,请参阅汇编语言的“预定义符号”章节。
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。例如eg:指令“jmp $+3”中的“$”表示当前这条指令在代码段中的偏移量。
汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能。
当前偏移地址,常见于使用伪指令动态定义数据长度,例如:
MyData db '123456789abcdefgh'
DataLength EQU $ - MyData