开发者

Assembly @@ label question

开发者 https://www.devze.com 2022-12-11 06:56 出处:网络
I have been looking at some assembly code and have found that this comes up rather regularly. @@: ...

I have been looking at some assembly code and have found that this comes up rather regularly.

@@: 
...
... ; some instructions
...
LOOP @B

Sometimes there is also @F.

I suppose that @B means to go back to the previous label and @F the the "forward/front" label? Am I right? This only works with "@@" labels? 开发者_开发技巧If I have label "label1" and used @B, would that work too?

Thanks.


You've got it figured out.

These are most useful in macro expansions. If your macro contains a loop, using these built-in symbols allow you to write the macro such that it can be expanded more than once. If your macro were required to use a standard label, expanding the macro twice would create duplicated labels.

These relative label references (@B, @F) never refer to normally-defined labels, only to @@.

Here are some documentation links:

  • @@
  • @B
  • @F
  • Microsoft Macro Assembler Reference
0

精彩评论

暂无评论...
验证码 换一张
取 消