It looks like a label starting with @ is not legal nasm syntax?
"Valid characters in labels are letters, numbers, _, $, #, @, ~, ., and ?. The only characters which may be used as the first character of an identifier are letters, . (with special meaning: see section 3.9), _ and ?. An identifier may also be prefixed with a $ to indicate that it is intended to be read as an identifier and not a reserved word; thus, if some other module you are linking with defines a symbol called eax, you can refer to $eax in NASM code to distinguish the symbol from the register. Maximum length of an identifier is 4095 characters.” [1] 

Labels prefixed with @@ are defined as TASM compatible?

I ask as I see code [2] that uses @ to start a label? Am I looking at the wrong version of the nasm documentation, or did I missing something obvious?


[1] https://www.nasm.us/doc/nasmdoc3.html
[2] https://github.com/tianocore/edk2/blob/master/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.nasm#L47

Thanks,

Andrew Fish