汇编中的@@, JMP @F, JMP @B 是什么意思

您所在的位置:网站首页 汇编语言jz是什么意思 汇编中的@@, JMP @F, JMP @B 是什么意思

汇编中的@@, JMP @F, JMP @B 是什么意思

2024-07-05 21:07| 来源: 网络整理| 查看: 265

在汇编语言的程序中,标号,总是免不了的。 程序编写的长了,标号,就要有很多。

但是,在一个程序中,标号,是不能重名的。 于是,在编程时,对于标号的命名,往往要费些心思。

@@,在汇编语言中,是当作标号用的。 而且,这个标号,还可以重复使用。 这不就方便多了吗?

标号,有时是作为一段程序的名称。 其最基本的功能就是:作为转移指令、调用指令的目的地。

可是,如果在程序中,有了很多很多的 @@,可怎么区分它们呢? 方法就是:最近。

@F,就是向下转移到最近的 @@ 处; @B,就是向上转移到最近的 @@ 处。

例如:

MOV CX, 8 ;循环 8 次 @@: ... ... ;这就是一个标号 ... ... ... ... ;循环体 ... ... LOOP @B ;向上转移到最近的@@处

又例如:

MOV AL, [SI] CMP AL, 0 JNZ @F ;向下转移到最近的@@处 ... ... ... ... @@: ... ... ... ...

做而论道所编写的程序,有许多标号都是使用了 @@ 的形式。 看起来很简明,而且编程也方便。

但是需要注意的是:

--用 EMU8086 编译不通过,@@ 报错。 --网上搜了一下,说是 @@ 只对于 MASM 有效。

如果实在是想用 EMU8086,你也可以自己改动一下。 把 @@、@F、@B 都改掉,即可。

比如,在某处有个 @@,你可以自己改成:XX1; 然后在其前、后都找一找,凡是转移到此处的 @F、@B,都要改成:XX1。

其它的 @@、…,也都按此方法,依次修改,即可。 改过之后,用 EMU8086 编译时,就应该不出错了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3