匿名本地标签(@@):哪些汇编程序支持多步引用,例如@FF(第二个下一个@@)?

问题描述 投票:1回答:2

[在某些x86汇编方言中,可以使用@@:放置匿名本地标签,并像jmp @F那样在跳转中引用它们,其中@F表示“下一个@@”,而@B表示“上一个@@”。] >

这是我在搜索网络时发现的来自Microsoft的描述:Q33067: Anonymous Labels for Jump Instructions

我使用其预处理器的宏工具in my macro collection在NASM中实现了对匿名本地标签的支持。一直到the first implementation on 2011-08-08,我都支持多步引用。也就是说,jmp @FF指的是倒数第二个@@。

今天,我对MASM处理匿名本地标签的差异(如果有的话,感到好奇。但是,我找不到任何明确表明MASM支持多步引用的信息。我给出的链接仅描述了@F和@B。但是,它也没有明确声明支持多步引用的任何效果。

我在网上发现的@FF的唯一出现是in this FASM forum thread,它讨论了添加多步@@引用的可能性。这似乎暗示着,至少在此线程之前,FASM仅支持单步@@引用。

我的问题是,哪些汇编程序支持多步引用?具体来说,MASM和TASM是否支持它们?

[如果您关心上下文,除in the macro collection's tests外,我从不使用@ B4或@ F4,并且迄今已使用3次@ B3或@ F3:

[在某些x86汇编方言中,可以使用@@:放置匿名本地标签,并在诸如jmp @F的跳转中引用它们,其中@F表示“下一个@@”,而@B表示“上一个@@”。这是一个说明...

assembly label nasm masm fasm
2个回答
1
投票
GAS编号的本地标签(as manual)与MASM的as是相同的概念:可以多次定义,后缀@@f以选择该方向上最接近的标签。

但是,您不仅可以选择b,还可以选择任何数字作为标签名称(通常为一位数字),基本上解决了相同的问题,即能够在宏中使用标签而不会遇到多定义问题,并参考到不是上一个或下一个本地标签的标签。


0
投票
而不是前导

at-sign

© www.soinside.com 2019 - 2024. All rights reserved.