assembly - 如何将 ADD 指令与 MASM 一起使用?

标签 assembly x86 masm

这是我的代码片段:

    .data
Num1    equ     40h
Num2    equ     41h
Var1    dword   0
Var2    dword   0
;----------------------------------------------------------------------
    align   4
    .code       ;insert executable instructions below
main    PROC        ;program execution begins here
    mov Var1, Num1
    mov Var2, Num2

    add Var1, Var2

我尝试使用 ADD 指令,但收到以下错误:

error A2070: invalid instruction operands

此错误与 ADD 行有关。 如果我省略该行,程序就会正常运行。

最佳答案

您不能将两个内存位置相互添加,您应该使用其中一个寄存器作为第二个操作数

 .data
Num1    equ     40h
Num2    equ     41h
;----------------------------------------------------------------------
    align   4
    .code       ;insert executable instructions below
    main    PROC        ;program execution begins here

    mov ax, Num2

    add ax, Num1

关于assembly - 如何将 ADD 指令与 MASM 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824562/

相关文章:

c++ - 损坏的 CPUID 品牌字符串?

gcc 汇编预处理器与标准头文件不兼容

linux - 在 Linux 平台上学习 x86 汇编的最佳方法是什么?

assembly - AVX-512 指令编码 - {er} 含义

multithreading - 在多核 x86 上,是否需要将 LOCK 作为 XCHG 的前缀?

assembly - 如何在汇编器中创建名称奇怪的符号?

数据段中的汇编函数数据排列

c - 当IP指向0时调试指令指针

c - 需要帮助理解此函数中的 movzbl 调用

assembly - 如何使用 llvm/clang 构建(或移植?)MASM ASM 文件?