我已经在使用两种语法“定义”的程序集中看到“变量”,第一个看起来像标签,第二个看起来像变量名。两者可以互换使用,还是每个使用都有特定的原因?
例如:
msg db "Hello World",0x0a
看起来有点像 C / C++ 中的变量名,而
msg: db "Hello World",0x0a
看起来有点像 asm 或 C/C++ 中的标签。
是否有理由使用一种或另一种语法?
它们之间有什么区别?
如果我
msg: db "Text",0x0a
,我可以然后mov rax, [msg]
还是我需要mov rax, [msg:]
?