在 NASM 程序集中声明 .data 值的 mul eax

mul eax with declared .data value in NASM assembly

我完全是 Assembly 的初学者,我一直在努力学习 NASM 中的基础知识。我在 mac,使用 xcode,我已经开始处理数据,我有一个简单的问题。

我很难找到答案,NASM 的手册非常繁琐。

这对你来说一定是超级基础的 NASM 那里有专家。

如果我在内存中声明一个变量

section   .data
    counter dw 0

global    _start
_start:
    inc counter    ; i get a "invalid combination of opcode and operands" here
ret

是不是必须把内存移到寄存器中才能操作,不能操作内存"in place"?

如果这是一个愚蠢的问题,我很抱歉,但我已经尝试用谷歌搜索这个但找不到明确的直接答案。

在 NASM 中(与 MASM 不同)一个裸符号是一个立即值。对于内存参考,请将其括在方括号中并指明所需的大小。

 inc word [counter]