汇编语言中,$符号在字符串里的作用是什么?
代表当前指令的地址,如:
data segment
str1 db a,b,c,d
leng equ $-str
就是当前地址减去str1的初始地址,即可得到str1的长度。
在字符串中是结束标志,就是字符串遇到$才会结束,类似于c语言中字符串中结尾的'0'。
扩展资料:
语言特点
汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。
参考资料来源:百度百科-$ (汇编语言中字符串结束的标志)
“$”是汇编语言中的一个预定义符号,等价于当前正汇编到的段的当前偏移值。例如eg:指令“jmp $+3”中的“$”表示当前这条指令在代码段中的偏移量。
汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能。
扩展资料:
语言特点
汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯-语言。但是由于编写和调试汇编语言程序要比高级语言复杂,因此目前其应用不如高级语言广泛。
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。在实际应用中,是否使用汇编语言,取决于具体应用要求、软件开发时间和质量等方面作权衡。
汇编器
典型的现代汇编器(assembler)建造目标代码,由解译组语指令集的易记码(mnemonics)到操作码(OpCode),并解析符号名称(symbolic names)成为存储器地址以及其它的实体。
使用符号参考是汇编器的一个重要特征,它可以节省修改程序后人工转址的乏味耗时计算。基本就是把机器码变成一些字母而已,编译的时候再把输入的指令字母替换成为晦涩难懂机器码
参考资料来源:百度百科- $ (汇编语言中字符串结束的标志)
看图你就会明白。实际上标号X1的首地址为ASCII码C的字单元地址,X2的首地址开始于 DB 16 dup (?) 语句,紧接着X1的终止地址,那么它的首地址相对于X1偏移4 - 1个字节单元;X2的终止地址相对于其首地址偏移16 - 1个字节单元,相对于X1偏移18个字节单元。那么$ - X1实际上是当前地址与X1首地址之差。由此可以得出,mov BX, Y指令执行后,BX的值为18d,也就是12h。
| …… |
| 43h | ASCII: C 4 byte X1
| 00h |
| 44h | ASCII: D
| 00h |
| ? | 16 byte X2
……
| ? | <--- $
| …… |
(当前地址$与X1首地址之差为18个字节偏移,等同于X1与X2占有的字节单元,不包括X1的首地址和X2的终止地址)
关于伪指令$,它表示地址计数器的当前值,也就是本条指令第一个字节的地址偏移,如:
ORG $ + 8 表示起始地址定位于当前编译地址第一字节的后8个字节处;JMP $ 表示无条件转移至当前地址,其实际执行效果为永远停留在当前地址。
又如:Array DW 1, 2, $ + 4, 3, 4, $ + 4,可以用图表示为:
| …… |
| 01h | <--- Array 1
| 00h |
| 02h | 2
| 00h |
| 08h | $ + 4 ($相对于Array首地址的偏移是4,因此$ + 4 = 8h)
| 00h |
| 03h | 3
| 00h |
| 04h | 4
| 00h |
| 0eh | $ + 4 ($相对于Array首地址的偏移是10,因此$ + 4 = 0eh)
| 00h |
| … … |
可见,$用在不同的地方,其表示的当前地址计数是不同的。
汇编语言 转移指令 如
JMP $ ; 转移 至 本条 指令地址, 就是重复执行本条指令
调用9号功能显示时候,遇到‘$’时候停止显示
C语言中,“$”符号有什么用啊?
操作系统的处理符号,有时候跟系统通信的时候要用上,比如在UNIX理编译某个文件可以用以下命令:$ CC pn.c
$符号是什么意思?
¥是人民币符号,人民币的货币符号就是Y上两横,书写顺序为:先写大写字母“Y”,再在竖划上加上二横,即为“¥”,读音为:yuán(音:元)。是美元的简称美元(UNITED STATES DOLLAR)俗称美金,是美国的货币,货币符号为USD。
C语言中$是什么意思
几乎没什么用 美元符号在Java中可以用作标识符(如变量名等就可以包含$符号),但在C语言中没什么实际用处,也不能用作标识符(变量名)的组成部分 不过美元符号在Unix或Linux中倒是提示符,它是终端(命令行模式)里面,非root账户登录后的命令提示符,所以Linux内核反编译出来的C源码含有大量的$符号 ...
请问在单片机汇编语言语句中的$符号代表什么意思
JNB TF0,跳转到本句 相当于 LOOP:JNB TF0,LOOP
英文的文字标识符是什么
Java 不采用通常语言使用的 ASCII 字符集,而是采用 Unicode 这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程...
特殊字符包括哪些
以及其他各种在常规文本中不常见,但在特定领域或文化中具有特定意义的符号。首先,特殊字符的存在为我们的书面语言提供了丰富的表达方式。它们能够在文本中插入特定的情感,强调,或者提供其他重要的语境信息。例如,在社交媒体或聊天应用中,人们经常使用表情符号(emoji)来表达他们的情感状态,这些表情符号...
如何在键盘上准确地打出特殊符号?
在编程语言中,特殊符号"||"代表"或者",在编写代码或文档时经常会用到。要通过键盘输入这个符号,可以按照以下步骤操作:首先,确保手指按住Shift键,这个键通常被标记为红色边框,位于键盘的上部(如图所示)。接着,找到位于回车键左侧的键,这个键可能有不同的设计,但通常包含两个竖线和一个右斜线,...
编程符号这个符号怎么输入,在C语言学习中碰到的
没有说是什么符号啊 C语言里面用到的符号 都在键盘上可以打出来 比如 ~ 是shift加左上角esc下面那个键 ^是shift +6 &是shift +7 | 是shift加右上角的\\ <>这两个是shift加逗号和句号。比较少见的就这么几个, 应该有你问的。
编程语言中,有这些符号,平时都搞混了。求大师帮忙...
:是继承或者行标 1:前面是一个类的名字,后面也是一个类class A:public B{ } 2:或者一个行的名字 第一行:int i=0;3:用在类的定义里 class A{ public:\/\/表示公有成员 } ::前面是类的名字,后面是类的成员(可以是函数、全局常量、全局变量)当::换成.的时候,前面的类的名字也要换...
一美元纸币上的图案和字符代表的是什么
3、美国共有12家联邦储备银行。「A」为波士顿;「B」为纽约;「C」为费城;「D」为克里夫兰;「E」为列治文;「F」为亚特兰大;「G」为芝加哥;「H」为圣路易;「I」为明尼阿波利斯;「J」为堪萨斯;「K」为达拉斯;「L」为旧金山。4、背面图案开始包括一个三个环围在一起组成的美国国徽正面图案...
毋货元胡:[答案] $ 表示当前行的意思,只用来配合跳转指令. 比如我们C语言的死循环for(;;) 翻译成汇编可以这么写: Label:LJMP Lable表示跳转到当前行 也可以简写 LJMP $
烈山区18972094851: 汇编语言中 $ 符号的作用都有哪些?loop $ 是什么意思 - ?
毋货元胡: 汇编中$符主用来表示当前地址,如最常用的JMP $就是指转移到当前执行语句的地址,在这的效果就是原地跳转,不再向后执行了. 你这LOOP指令也是一样,就是让机器只在当前原地跳转,不向后执行了.
烈山区18972094851: 汇编语言的'$'是干吗用的 '$'是干吗用的 - ?
毋货元胡: 当使用DOS功能中断进行字符串输出时,'$'是字符串结束的标志,就像C语言里字符串结束时用'\0'一样的的道理.
烈山区18972094851: 汇编中$是什么意思 - ?
毋货元胡: 意思:是一个预定义符号,等价于当前正汇编到的段的当前偏移值. 例如eg:指令“jmp$+3”中的“$”表示当前这条指令在代码段中的偏移量. 一、eg即“jmp$+3”表示要向前跳转到距离这条指令3个字节的地方.若是“jmp$-3”,则表...
烈山区18972094851: 汇编语言中的$是什么? - ?
毋货元胡: 在汇编语言中$是个比较特殊的字符,它代表当前地址.因此"SJMP $"的意思是,程序跳转到当前地址,即PC指针停留在当前地址.
烈山区18972094851: 汇编语言中 $ 符号的作用都有哪些?loop $ 是什么意思?说的详细一些最好写上具体例子...打酱 - ?
毋货元胡: $代表当前地址,如jmp $就意味着不停地跳转到自身,实现一个死循环.$$代表当前节的首地址,一般用$-$$计算当前位置到当前节的偏移 loop $ 首先要看cx的值,这条指令可以实现短时间的暂停
烈山区18972094851: 51单片机汇编语言中的 $ 代表啥意思? - ?
毋货元胡: 代表当前的指令所在的地址 举个例子来说,在0050H处定义了几个字节数据 0050H:01H,02H,03H,04H 那么下一条指令的地址应该为0054H,若下一条语句为 COUNT EQU $-0050H,则COUNT就等于4(0054H-0050H),但是一般 编程的时候是不知道数据定义在哪里的,所以你并不知道$的具体值是多少,因为0050H是用标号来表示的,比如说用了TABLE,那么你的语句 COUNT EQU $-TABLE一样可以得到数据块的长度4.
烈山区18972094851: string DB 'd=$' 在汇编语言中是什么意思啊 - ?
毋货元胡: string DB 'd=$' 在汇编语言中就是定义一个字符串,名字是“string”,内容是“d=”,其中的$是字符串结束标志.
烈山区18972094851: 在汇编语言里$符号代表什么意思? - ?
毋货元胡: 表示原地空转,一般与跳转指令相连用 如51 I汇编中,ajmp $表示程序就停在当前位置,相当于 L1: AJMP L1 举例应用:如果一个程序只在中断跑,主程序没有东西可执行的东东,而这时主程序又不能停,此时就用 ajmp $,那么此时主程序就在该处原地不动,单步调试时可以看到就在原地走.这是只要中断条件到就执行中断.
烈山区18972094851: 汇编中$是表示16进制还是地址 - ?
毋货元胡: $是表示当前地址值 但'$'表示字符串结束符