汇编中$是什么意思

如题所述

“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。

在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

扩展资料:

由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。对于处理器而言,就是如何找到他所需的数据。

但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与 复杂的存储管理方式紧密相关,因而难以理解。最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-24

意思:是一个预定义符号,等价于当前正汇编到的段的当前偏移值。

例如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

参考资料:

百度百科——$(汇编语言中字符串结束的标志)

本回答被网友采纳
第2个回答  2018-03-13
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。

指令“jmp $+3”中的“$”表示当前这条指令在代码段中的偏移量。指令“jmp $+3”表示要向前跳转到距离这条指令3个字节的地方。若是“jmp $-3”,则表示要向后跳转到距离这条指令3个字节的地方。

“$”可用于表达式,并且可以用于表达式的任意位置。

更具体的内容,请参阅汇编语言的“预定义符号”章节。
第3个回答  2020-06-10
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。例如eg:指令“jmp $+3”中的“$”表示当前这条指令在代码段中的偏移量。

汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能。
第4个回答  推荐于2018-02-26
当前偏移地址,常见于使用伪指令动态定义数据长度,例如:
MyData db '123456789abcdefgh'
DataLength EQU $ - MyData

参考资料:http://zhidao.baidu.com/question/359202574.html

本回答被提问者和网友采纳
相似回答