assembly 如何修复'语法错误:、“和”未定义符号“

jobtbby3  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(113)

我正在做一个赋值语句,需要声明MASM中的符号常量沿着程序中的其他函数。我写了整个程序,并且认为我做得很好,但是我一直有符号常量声明的语法错误。我应该声明符号常量A = 5120,B=260,C= 170和D=2200。在code指令下,使用mov指令,将A、B、C和D的值分别移动到EAX、EBX、ECX和EDX。但是它一直说'C'前面的逗号有语法错误,'C'是语法错误,并且我的所有其他符号常量都未定义。
我把“C”改成了“E”,它起作用了,但我觉得改变字母不是这里的问题。

.data
 mystring BYTE 20 DUP('a')
 val1 SDWORD 2147483647
 sum DWORD 0
 firstName BYTE "Akash", "Akash", "Akash", "Akash", "Akash"
 firstNameSize = ($ - firstName)
 A = 5120
 B = 260
 C = 170
 D = 2200

 .code
 main proc
 mov eax, A             
 mov ebx, B
 mov ecx, C
 mov edx, D             
 sub ebx, ecx
 add eax, ebx
 sub eax, edx
 mov sum, eax
 invoke ExitProcess,0

我期望输出是不会有构建错误,寄存器将包含正确的值,并将对数字进行数学运算。

hgqdbh6s

hgqdbh6s1#

C是MASM中的操作名,所以不能将其用作变量名。Here's列出了我能找到的所有保留术语。

相关问题