Assembly 在NASM中更改标签值

Assembly 在NASM中更改标签值,assembly,label,nasm,Assembly,Label,Nasm,一旦我们使用RESX或DX命令指定了一个标签,(其中X可以是B、W、D、Q、T),以后是否可以为该标签指定一个内存位置 例如,我能做一些像 mov标签,X560h我认为这是不可能的。标签无法更改。标签不在最终代码中(至少如果您有二进制输出)。在执行代码时更改汇编程序的常量没有任何意义 有两种方法可以做到这一点: 用%undef取消定义标签,然后重新定义它 编写自修改代码,更改对标签的所有引用 (我认为选项2对您没有帮助)%undf用于定义,而不是标签。但确实可以使用%定义名称标签或编号,然后稍后

一旦我们使用RESX或DX命令指定了一个标签,(其中X可以是B、W、D、Q、T),以后是否可以为该标签指定一个内存位置

例如,我能做一些像


mov标签,X560h

我认为这是不可能的。标签无法更改。

标签不在最终代码中(至少如果您有二进制输出)。在执行代码时更改汇编程序的常量没有任何意义

有两种方法可以做到这一点:

  • 用%undef取消定义标签,然后重新定义它
  • 编写自修改代码,更改对标签的所有引用

  • (我认为选项2对您没有帮助)

    %undf
    用于定义,而不是标签。但确实可以使用
    %定义名称标签或编号
    ,然后稍后重新定义或取消定义。